Expressões de conjunto externo e expansões de sinal de dólar
Quando uma (ou mais) expansões de sinal de dólar forem usadas em uma expressão maior, cada expansão de sinal de dólar será avaliada isoladamente antes que o resultado seja inserido no restante da expressão. Uma implicação desse método de avaliação é que as expressões de conjunto fora de uma expressão expandida por sinal de dólar não afetarão o resultado. Isso cria um efeito no qual há uma dupla avaliação de informações em uma expressão.
Exemplo – Como as expressões que contêm expressões de conjunto externo e expansões de sinal de dólar são avaliadas
Suponha que você tenha esta expressão de exemplo:
Na expressão acima, há uma expressão de conjunto para selecionar valores para Year de 2024: {<Year={2024}>}. Quando toda a expressão de exemplo é avaliada, esta expressão de conjunto não é aplicada.
Em vez disso, a expressão de sinal de dólar $(=Sum(Sales)) é avaliada primeiro.
Neste exemplo, suponha que Sum(Sales) seja avaliado com um resultado de 1500311. Ao avaliar a expressão {<Year={2024}>} $(=Sum(Sales)), esse número é inserido na expressão ao redor. Essa ordem de avaliação resulta na seguinte configuração parcialmente avaliada (observe que essa não é uma expressão do Qlik Sense útil e é mostrada apenas para demonstrar a ordem de avaliação):
Em seguida, a expressão {<Year={2024}>} 1500311 é avaliada como um todo. A expressão de conjunto {<Year={2024}>} não tem nenhum efeito porque a expressão à direita dela é simplesmente um número, não qualquer tipo de expressão agregada.
Portanto, usando o valor Sum(Sales) fornecido acima no exemplo, o resultado avaliado para toda a expressão {<Year={2024}>} $(=Sum(Sales)) seria 1500311.
Construindo uma expressão a partir de partes
O uso de expansões de sinal de dólar em uma expressão resulta em um efeito de avaliação dupla. Você pode se beneficiar desse efeito de avaliação dupla ao criar uma expressão usando partes.
Exemplo
Suponha que você tenha esta expressão de exemplo:
Na primeira rodada de avaliação, a expansão de sinal de dólar $(='Sum(' & 'Sales' & ')') é avaliada. Nessa etapa, as três strings são combinadas em uma única string 'Sum(Sales)'. Como se trata de uma string e não de uma expressão, a expressão contida nela não é avaliada nesse momento.
Nesse estágio da avaliação, a expressão é definida para ser interpretada pelo Qlik Sense da seguinte forma:
{<Year={2024}>} Sum(Sales)
Nesse caso, a expressão de análise de conjunto externo será aplicada à agregação Sum, pois agora produzimos uma expressão normal, em vez de apenas um número (como foi o caso no primeiro exemplo). Observe que os caracteres de aspas consumiram a primeira rodada de avaliação, de modo que a expressão foi preservada (e concatenada usando &) para a segunda rodada de avaliação.
Pesquisa de variáveis
Ao usar uma expansão de cifrão variável para fazer uma pesquisa de variável, o conteúdo da variável é inserido na expressão circundante antes que o conteúdo seja avaliado.
Exemplo
Suponha que você tenha esta expressão de exemplo:
Nesse exemplo, o conteúdo da variável Var1 será inserido na expressão circundante antes que o conteúdo seja avaliado.
Resultado A – Definição de variável sem sinal de igual
Se Var1 for definido como Sum(Sales), ele terá a seguinte aparência após a expansão (observe que a configuração abaixo é uma expressão parcialmente avaliada):
Portanto, neste exemplo, a expressão de conjunto externo {<Year={2024}>} será aplicada.
Resultado B – Definição de variável com sinal de igual
Por outro lado, se a definição em Var1 começar com um sinal de igual, ou seja, =Sum(Sales), a expressão do conjunto externo não será aplicada. Isso ocorre porque o sinal de igual faz com que a expressão variável seja calculada antes do tempo e isoladamente. Isso leva a um resultado semelhante ao primeiro exemplo, no qual há uma expressão de conjunto externo a ser avaliada junto com um número, que não retorna um resultado útil.