Ir para conteúdo principal Pular para conteúdo complementar

Referências a campos, medidas e variáveis

Uma expressão pode conter referências a campos, variáveis e medidas.

Na maioria dos casos, expressões são agregações, ou seja, cálculos que podem potencialmente abranger vários registros. Isso significa que todas as referências de campo em uma expressão devem ser envolvidas em uma função de agregação. Se nenhuma função de agregação for usada, a função Only() será usada.

Quando o nome de uma medida é usado dentro de uma expressão, ele é interpretado como um alias para essa medida. Isso permite reutilizar uma entidade já definida. Você pode usar os rótulos de medidas mestre e medidas de gráfico dessa maneira. No entanto, a medida de gráfico deve estar no mesmo gráfico. Não é possível usar rótulos de medidas em outros gráficos.

Uma medida pode ser definida recursivamente. Em outras palavras, ela pode conter uma referência a si mesma. No entanto, você só deve fazer isso em gráficos com poucas linhas. O desempenho piorará se o gráfico tiver muitas linhas. Se houver centenas de linhas, a definição recursiva deixará de funcionar completamente.

Uma variável pode ser usada de duas maneiras diferentes em uma referência direta ou em uma expansão de cifrão. Se você usar uma referência direta, o valor da variável será usado no cálculo. Se você usar uma expansão de cifrão, toda ela será substituída pelo valor da variável antes que essa expressão seja analisada. Portanto, os dois métodos diferentes podem retornar resultados diferentes.

Como os nomes são interpretados

Um nome dentro de uma expressão pode ser uma referência a um campo, uma variável, uma função ou uma medida. Dependendo da situação, o nome é interpretado de maneiras diferentes.

Exemplo:  

A string XXX representa um campo, uma variável, uma função ou uma medida. XXX será interpretado como um deles, dependendo de como a expressão for criada.

Exemplos de como os nomes são interpretados
Expressão XXX interpretado como
XXX medida, variável ou campo
$(XXX) variável
Count(XXX) campo ou variável
XXX() função

Você não deve usar o mesmo nome para um campo e uma variável (ou uma medida). Porém, se você fizer isso e houver ambiguidade, a seguinte ordem de precedência será usada:

  • Se o nome for encontrado dentro de uma função de agregação, um campo terá precedência sobre uma variável.

  • Se o nome for encontrado fora de uma função de agregação, um rótulo de medida terá precedência sobre um nome de variável, que, por sua vez, terá precedência sobre o nome de um campo.

Regras para expressão

As seguintes regras aplicam-se às expressões de gráfico:

  • Se uma referência de campo não estiver envolvida em uma função de agregação, a função Only() será usada pelo mecanismo.

  • Todas as expressões retornam um número e/ou um caractere, o que for mais apropriado.

  • As funções e operadores lógicos retornam 0 para False, -1 para True. As conversões de número para string e de string para número são implícitas.

  • As funções e operadores lógicos interpretam 0 como False e tudo o mais como True.

  • As expressões que não podem ser corretamente avaliadas, por exemplo, se forem o resultado de parâmetros ou funções incorretas, retornam NULL.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!