Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I have a problem with variables.
I load variables from a spreadsheet, and it contains the necessary calculations for the formulas in the application.
I realized that if a reference that will query the two records, it multiplies the original value by the amount of logging.
example:
Ref Value Discont1 Discount2
3815738 500.00 250.00 0.00
3815738 500.00 0.00 250.00
In the charts this reference is:
Ref Value Discont1 Discount2
3815738 1000.00 250.00 250.00
The value of the variable is:
sum ({<[Course type] = {"> 1 <3"}>} VALORORIG_MENSALID)
It is called in the following chart:
$(vMensal_Grad)
If I add the DISTINCT, the value of the variable, it will only sum the distinct values with this value be unreal.
example:
Without DISTINCT: 20 million
With DISTINCT: 2 million
How do I make it add up the values of distinct references, and not of distinct values?
I hope I have managed to demonstrate the problem.
Resolvi o problema da seguinte forma:
sum( {<[Tipo Curso] = {">1<3"}>} aggr( avg(VALORORIG_MENSALID), IDLAN ) )
Como o valor está repetindo, tiro uma média, com isso consigo o valor correto.
Bom dia Thiago.
Você pode criar seus posts aqui na QlikView Brasil em Português ![]()
Mas voltando ao seu problema. Poderias postar um exemplo de sua aplicação? Assim ficará melhor para a gente poder te ajudar.
Blz.
Deixa tentar explicar melhor.
Carrego as variáveis por uma planilha excel, para facilitar a manutenção, pois são utilizadas em vários gráficos.
| VariableName | VariableLabel | VariableValue |
| Mensal_Grad | Mens.Graduação | sum( {<[Tipo Curso] = {">1<3"}>}VALORORIG_MENSALID) |
Na aplicação adiciono "v" ao nome das variáveis, ficando assim: vMensal_Grad
Nas expressões dos gráficos, ela é chamada da seguinte forma: $(vMensal_Grad)
Alguns registros vem da query com duas linhas, como informo no exemplo abaixo:
Exemplo:
Ref Vlr Fies Bolsa
3815738 500 250 0
3815738 500 0 250
Nos gráficos essa referencia fica da seguinte forma:
Ref Vlr Fies Bolsa
3815738 1000 250 250
Ou seja, soma o valor original.
Se acrescento o DISTINCT, no valor da variável:
sum( DISTINCT {<[Tipo Curso] = {">1<3"}>}VALORORIG_MENSALID) |
Está somando os VALORORIG_MENSALID distintos, e preciso que some as referencias distintas.
Deveria ficar assim:
Ref Vlr Fies Bolsa
3815738 500 250 250
Se coloco num gráfico do tipo planilha, ele traz correto, mas se coloco num de barras por exemplo ele me dá a diferença:

Acho que o problema é pq uma variável já vem com o sinal de = e a outra não, faz este teste por favor.
Não é isso.
O primeiro, está o valor da variável, e o segundo esta a expressão digita com o distinct.
é verdade, acho que vamos conseguir ajudar com agilidade se tiver um qvw exemplo, consegue postar um?
Oi, Thiago.
Apesar de ser possível resolver o problema na expressão da variável, o melhor jeito é resolvê-lo no script. Usa um load parecido com esse (ajuste para os nomes corretos dos seus campos):
Load
Ref,
Min(VALORORIG_MENSALID) as VALORORIG_MENSALID,
Sum(Fies) as Fies,
Sum(Bolsa) as Bolsa
From ...
Group by Ref;
Usa a expressão sem distinct: sum({<[Tipo Curso] = {">1<3"}>}VALORORIG_MENSALID).
Espero ter ajudado.
Resolvi o problema da seguinte forma:
sum( {<[Tipo Curso] = {">1<3"}>} aggr( avg(VALORORIG_MENSALID), IDLAN ) )
Como o valor está repetindo, tiro uma média, com isso consigo o valor correto.