Ir para conteúdo principal

Referências a campos, medidas e variáveis

NESTA PÁGINA

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ê só pode reutilizar medidas mestre e medidas dentro do mesmo gráfico dessa maneira.

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.

Example:  

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, uma medida terá precedência sobre uma variável, que, por sua vez, terá precedência sobre 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 os 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.

  • Operadores lógicos e funções 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.