Qlik Community

Qlik Brasil

Announcements
If you cannot see content in your group, clear your cache on all browsers. DM any issues to Sue_Macaluso.
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Creator
Creator

Calculo agrupado em script

Boa tarde amigos, alguém poderia me dizer uma forma de criar um campo no script que siga o mesmo intuito dessa expressão

=aggr(
if(Sum({<Data={">=$(=Date(Today()-150)) <= $(=Today())"}>} TotalLiquido) = '0','5M',
if(Sum({<Data={">=$(=Date(Today()-120)) <= $(=Today())"}>} TotalLiquido) = '0','4M',
if(Sum({<Data={">=$(=Date(Today()-90)) <= $(=Today())"}>} TotalLiquido) = '0','3M',
if(Sum({<Data={">=$(=Date(Today()-60)) <= $(=Today())"}>} TotalLiquido) = '0','2M',
if(Sum({<Data={">=$(=Date(Today()-30)) <= $(=Today())"}>} TotalLiquido) = '0','1M'))))),[Grupo-Cliente])

Seria uma curva de inatividade, se alguém souber uma forma de criar algo nesse sentido dentro do script eu agradeço. 

Tags (1)
1 Solution

Accepted Solutions
Highlighted

Re: Calculo agrupado em script

Opa, é possível sim. Você terá que fazer algumas substituições de função, pois AGGR e Set Analysis não funcionam no script.

 

No lugar do AGGR, você terá que usar o recurso de GROUP BY da tabela

No lugar do Set Analysis, você terá que usar IF

 

Basicamente você precisa ter uma tabela, no seu modelo, que possua as três colunas utilizadas no cálculo: Data, TotalLiquido e Grupo-Cliente

 

Primeiro passo é fazer um Somatório da coluna TotalLiquido por Grupo-Cliente, por exemplo:

 

[TabelaAgrupada]:

LOAD

Data,

Grupo-Cliente,

SUM( TotalLiquido) as TotalLiquido

RESIDENT Tabela

GROUP BY Data, Grupo-Cliente;

 

Depois, em outro passo de RESIDENT, faça o IF que precisa:

 

LOAD

Data,

Grupo-Cliente,

TotalLiquido,

if( Data >= Date(Today()-150)) and Data <= Today() and TotalLiquido = 0, '5M',

if( Data >= Date(Today()-120)) and Data <= Today() and TotalLiquido = 0, '4M',

if( Data >= Date(Today()-90)) and Data <= Today() and TotalLiquido = 0, '3M',

if( Data >= Date(Today()-60)) and Data <= Today() and TotalLiquido = 0, '2M',

if( Data >= Date(Today()-30)) and Data <= Today() and TotalLiquido = 0, '1M'

))))) as [NovoCampo]

RESIDENT TabelaAgrupada;

 

DROP TABLE TableAgrupada;

 

View solution in original post

3 Replies
Highlighted

Re: Calculo agrupado em script

Opa, é possível sim. Você terá que fazer algumas substituições de função, pois AGGR e Set Analysis não funcionam no script.

 

No lugar do AGGR, você terá que usar o recurso de GROUP BY da tabela

No lugar do Set Analysis, você terá que usar IF

 

Basicamente você precisa ter uma tabela, no seu modelo, que possua as três colunas utilizadas no cálculo: Data, TotalLiquido e Grupo-Cliente

 

Primeiro passo é fazer um Somatório da coluna TotalLiquido por Grupo-Cliente, por exemplo:

 

[TabelaAgrupada]:

LOAD

Data,

Grupo-Cliente,

SUM( TotalLiquido) as TotalLiquido

RESIDENT Tabela

GROUP BY Data, Grupo-Cliente;

 

Depois, em outro passo de RESIDENT, faça o IF que precisa:

 

LOAD

Data,

Grupo-Cliente,

TotalLiquido,

if( Data >= Date(Today()-150)) and Data <= Today() and TotalLiquido = 0, '5M',

if( Data >= Date(Today()-120)) and Data <= Today() and TotalLiquido = 0, '4M',

if( Data >= Date(Today()-90)) and Data <= Today() and TotalLiquido = 0, '3M',

if( Data >= Date(Today()-60)) and Data <= Today() and TotalLiquido = 0, '2M',

if( Data >= Date(Today()-30)) and Data <= Today() and TotalLiquido = 0, '1M'

))))) as [NovoCampo]

RESIDENT TabelaAgrupada;

 

DROP TABLE TableAgrupada;

 

View solution in original post

Highlighted
Creator
Creator

Re: Calculo agrupado em script

Vlw Yuri, ajudou muito!

Highlighted

Re: Calculo agrupado em script

Show! 🙂