Trabalhando com variáveis no editor de carregamento de dados
Uma variável no Qlik Sense é um contêiner armazenando um valor estático ou um cálculo como, por exemplo, um valor numérico ou alfanumérico. Ao usar a variável no aplicativo, qualquer mudança feita será aplicada em qualquer lugar em que a variável for usada. Você pode definir variáveis na visão geral de variáveis ou no script, usando o Editor de carregamento de dados. Você define o valor de uma variável usando os comandos Let ou Set no script de carregamento de dados.
Visão geral
Se o primeiro caractere do valor de uma variável for um sinal de igual ' = ', o Qlik Sense tentará avaliar o valor como uma fórmula (expressão Qlik Sense) e, em seguida, exibir ou retornar o resultado, em vez do texto real da fórmula.
Quando utilizada, a variável é substituída por seu valor. As variáveis podem ser usadas no script para a expansão de macros e em diversos comandos de controle. Isso é muito útil quando a mesma string é repetida várias vezes no script, por exemplo um caminho.
Algumas variáveis especiais do sistema serão definidas pelo Qlik Sense no início da execução do script, independentemente de seus valores anteriores.
Definindo uma variável
As variáveis fornecem a capacidade de armazenar valores estáticos ou o resultado de um cálculo. Ao definir uma variável, use a seguinte sintaxe:
ou
let variable = expression
A instrução Set é usada para atribuição de strings. Ele atribui o texto à direita do sinal de igual à variável. A instrução Let avalia uma expressão à direita do sinal de igual no tempo de execução do script e atribui o resultado da expressão à variável.
As variáveis diferenciam maiúsculas de minúsculas.
Exemplos:
set x = 3 + 4; // a variável obterá a string '3 + 4' como o valor.
let x = 3 + 4; // retorna 7 como o valor.
set x = Today(); // retorna 'Today()' como o valor.
let x = Today(); // retorna a data de hoje como o valor, por exemplo, '27/9/2021'.
Excluindo uma variável
Se você remover uma variável do script e recarregar os dados, essa variável permanecerá no aplicativo. Se quiser remover por completo a variável do aplicativo, também deverá excluir a variável do diálogo de variáveis.
Para obter mais informações, consulte Excluindo uma variável.
Carregando um valor de variável como um valor de campo
Se quiser carregar um valor de variável como um valor de campo em um comando LOAD, e o resultado da expansão de dólar for texto em vez de numérico ou uma expressão, você precisará colocar a variável expandida entre aspas simples.
Exemplo:
Este exemplo carrega a variável do sistema contendo a lista de erros de script para uma tabela. Você pode observar que a expansão do ScriptErrorCount na cláusula If não exige aspas, embora a expansão de ScriptErrorList exija.
Cálculo da variável
Existem várias maneiras de usar variáveis com valores calculados no Qlik Sense, e o resultado depende de como você as define e as chama em uma expressão.
Neste exemplo, carregamos alguns dados inline:
Vamos definir duas variáveis:
Na segunda variável, adicionamos um sinal de igual antes da expressão. Assim, a variável será calculada antes de ser expandida e a expressão será avaliada.
Se você usar a variável vSales como está, por exemplo, em uma medida, o resultado será a string Sum(Sales), ou seja, nenhum cálculo será realizado.
Se você adicionar uma expansão de sinal de dólar e chamar $(vSales) na expressão, a variável será expandida e a soma de Sales, exibida.
Por fim, se você chamar $(vSales2), a variável será calculada antes de ser expandida. Isso significa que o resultado exibido é a soma total de Sales. A diferença entre usar =$(vSales) e =$(vSales2) como expressões de medida é observado neste gráfico que mostra os resultados:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Como você pode ver, $(vSales) resulta na soma parcial para um valor de dimensão e $(vSales2) resulta na soma total.
Estão disponíveis as seguintes variáveis de script:
- Variáveis de erro
- Variáveis de interpretação numérica
- Variáveis de sistema
- Variáveis de tratamento de valores