Fala pessoal, tudo bom?
Hoje vamos falar um pouco sobre a expansão do sinal de dólar das variáveis. Vamos lá!
O que é?
A expansão do sinal de dólar basicamente é a utilização do sinal de dólar na declaração de uma variável em algum objeto, por exemplo:
$(vExpressaoVendas)
Para que serve?
Simplesmente avaliar o conteúdo de uma variável, ou seja, calcular o resultado da variável e, em seguida,
devolver o valor de saída.
É sempre necessário?
Não, vejo muitas pessoas sempre utilizando a expansão do dólar na utilização das variáveis, mas nem sempre é necessário, por exemplo, quando temos um número simples não é necessário sua utilização, pois não há nada a ser avaliado/calculado nesta variável.
Vejamos um exemplo na prática:
Gráfico de Vendas por Vendedor em que a quantidade de Vendedores é muito grande para que todos sejam exibidos no mesmo gráfico sem a barra de rolagem, desta forma criamos uma variável (depois irei fazer um outro post demonstrando as formas de se criar uma variável) para que o usuário possa controlar o número de vendedores a serem exibidos.
Gráfico antes da delimitação
Gráfico com a delimitação da quantidade de vendedores através da variável vQuantidadeVendedores. Por se tratar de um número simples, sua utilização não necessita da expansão do sinal de dólar. Veja exemplo:
Veja a utilização da variável
Utilizar sem necessidade pode atrapalhar o desempenho da minha aplicação?
Sinceramente eu acredito que não vá interferir no desempenho da sua aplicação, mas não deixa de ser mais um cálculo a ser realizado pelo QlikView. Façamos a nossa parte se sabemos que esse cálculo pode ser evitado 😀
Observação: Alguns autores recomendam a utilização da expansão do sinal de dólar mesmo para os casos em que realmente não há necessidade. O argumento é para caso essa variável venha ser alterada e necessidade do sinal de dólar você não terá que realizar nenhuma alteração na forma de utilização dela.
E as variáveis com o conteúdo de texto?
Quando o conteúdo é somente um texto você, realmente, deve evitar o uso da expansão do sinal do dólar, pois este retornará um resultado nulo, pois não há o que avaliar em um texto.
Erro utilizando a expansão do sinal do dólar:
Forma correta de utilização:
Utilizando a expansão do sinal de dólar e a variável entre aspas o resultado também será satisfatório, porém não há necessidade da utilização da expansão.
Expansão do sinal de dólar com parâmetros
Junto a variável, é possível a utilização de parâmetros. Os parâmetros são passados junto com a expansão do sinal de dólar.
Criando a variável com parâmetros
Vamos criar uma nova variável para somar as vendas e criar um parâmetro para dividir esse valor.
A variável que iremos criar é chamada de vVendasComDivisor e o seu conteúdo deve ser: SUM(Valor) / $1
O $1 é o parâmetro de número um
IMPORTANTE: Sempre que criar uma variável e seu conteúdo for o de uma expressão, não se deve usar o sinal de igual na frente, pois queremos que essa variável seja interpretada dentro do gráfico que a utilizarmos, caso contrário essa variável será recalculada para todos os filtros que o usuário fizer, mesmo que ela não esteja sendo utilizada naquele momento. Depois criarei um post para falar disso 🙂
Voltando para o tópico rsrs!
Passando um parâmetro para a variável
Para passar um valor de parâmetro para a variável vVendasComDivisor devemos utilizar a expansão do sinal de dólar da seguinte forma:
Repare que a coluna a esquerda é o valor original de vendas e a outra é o resultado das vendas dividido por 1000.
Criando uma variável com mais de um parâmetro
Uma variável pode ter qualquer número de parâmetros definidos, tudo especificado com um dólar e um número que indica o número do parâmetro: $1, $2, $3, e assim por diante. No momento de passar o valor ao parâmetro, a ordem respeitará a numeração dos parâmetros.
Vamos criar um exemplo que adicione ao valor de vendas uma comissão geral.
O nome da variável será: vVendasComComissaoDivisor
O primeiro parâmetro é o percentual de comissão geral e o segundo parâmetro é o divisor
Neste exemplo a comissão geral é de 20% (valor a ser utilizado 0.20) e este valor não sofrerá nenhuma redução na divisão:
IMPORTANTE: Note que os parâmetros devem ser passados na ordem correta, sendo o primeiro parâmetro (0.20) para o $1 e o segundo (1) para o $2.
Resultado:
OBSERVAÇÃO: Quando criamos uma variável com parâmetros, a utilização desse parâmetro passa a ser obrigatória.
Parâmetro de texto
Também é possível passar um texto no parâmetro.
Texto? Para que?
Podemos ter uma expressão que possua uma condicional (if ou set analysis) com o valor de texto, por exemplo:
Estamos utilizando um texto como parâmetro, então devemos passar esse parâmetro entre aspas simples. Você também pode optar por declarar a variável com a aspas simples e na hora de passar o parâmetro não utilizar a aspas, fica ao seu critério.
Resultado:
O parâmetro pode ser um campo ou uma outra expressão?
Sim, você pode deixar um parâmetro para ser utilizado para definir um nome de campo ou até para definir uma segunda expressão.
Por exemplo, parâmetro para definir o tipo de agregação
Aplicação de exemplo para download
Clique aqui para fazer download da aplicação de exemplo.
Conclusão
É muito bom entendermos como realmente devemos utilizar uma função e também o seu funcionamento. A expansão do sinal de dólar pode facilitar, e muito, na manutenção de uma aplicação grande.
Já pensou em criar um documento de excel e concentrar todas as suas expressões? Fica bem legal 🙂
É isso pessoal!
Dúvidas, críticas e elogias nos comentários ou então através do facebook: facebook.com/blogdonicolett
Obrigado e até a próxima semana!!
Muito legal.. não sabia que era possível passar parâmetros para uma variável (?)
Isso é doidera hehe..
Parabéns pela postagem..
Obrigado Marco 🙂
É algo muito útil e economiza muito tempo em projetos grandes 😀
Pingback: Variáveis – Dupla expansão do sinal de dólar (Double Dollar Sign Expansion) | Blog do Nicolett
Pingback: Variáveis – Armazenando expressões em planilhas | Blog do Nicolett
Pingback: Variáveis – O sinal de igual (Equal Sign) | Blog do Nicolett