Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problems with Variables

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.

Labels (2)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

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.

View solution in original post

7 Replies
rphpacheco
Creator III
Creator III

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.

Anonymous
Not applicable
Author

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.

VariableNameVariableLabelVariableValue
Mensal_GradMens.Graduaçãosum( {<[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:

Exe.jpg

Anonymous
Not applicable
Author

Acho que o problema é pq uma variável já vem com o sinal de = e a outra não, faz este teste por favor.

Anonymous
Not applicable
Author

Não é isso.

O primeiro, está o valor da variável, e o segundo esta a expressão digita com o distinct.

Anonymous
Not applicable
Author

é verdade, acho que vamos conseguir ajudar com agilidade se tiver um qvw exemplo, consegue postar um?

Anonymous
Not applicable
Author

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.

Anonymous
Not applicable
Author

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.