Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
antoniodneto
Creator II
Creator II

Fórmula SUM Data Max

Bom dia Pessoal,

Estou tentando criar uma fórmula para pegar o SUM do DATA MAX e também o DATA MAX -1 para pegar a referência de um mês anterior ao DATA MAX, porém não estou conseguindo.

Estou utilizando a fórmula para pegar o DATA MAX

SUM({$<[anomes.autoCalendar.DATA_BASE]={">=$(=Addmonths(max([anomes.autoCalendar.DATA_BASE])))"}>}RISCO_B_1_10)



E a fórmula para pegar uma data anterior ao DATA MAX, porém ele me retorna a mesma soma do DATA MAX não do mês anterior.


SUM({$<[anomes.autoCalendar.DATA_BASE]={">=$(=Addmonths(max([anomes.autoCalendar.DATA_BASE]),-1))"}>}RISCO_B_1_10)


O meu formato de data é 201801 por exemplo.

Poderiam me ajudar?

Abraço

Labels (1)
1 Solution

Accepted Solutions
Thiago_Justen_
MVP
MVP

Segue app com as alterações necessárias para resolução do problema.

Apenas para constar, seguem expressões adotadas na sua pivot table:

SEM ATRASO (APENAS ACRESCENTEI O {1} )

sum({1}RISCO_A_EM_DIA)

/

(sum({1}RISCO_A_EM_DIA)+sum({1}RISCO_B_1_10)+sum({1}RISCO_C_11_14)+SUM({1}RISCO_D_15_30)+SUM({1}RISCO_E_31_60)+SUM({1}RISCO_F_61_90)+SUM({1}RISCO_G_91_120)+SUM({1}RISCO_H_121_150)+SUM({1}RISCO_I_151_180)+SUM({1}RISCO_J_OVER_180))

11 A 30 DIAS (APENAS ACRESCENTEI O {1} )

(SUM({1}RISCO_C_11_14)+SUM({1}RISCO_D_15_30))

/

SUM({1}RISCO_EM_DIA_LAG1)

EXPRESSÃO SOLICITADA

before(sum({1}RISCO_B_1_10))/1000000


Resultado obtido:

Capturar.PNG

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

22 Replies
Thiago_Justen_
MVP
MVP

Antonio,

Substitua para:

Mês Corrente:

SUM({$<[anomes.autoCalendar.DATA_BASE]={">=$(=MonthStart(max([anomes.autoCalendar.DATA_BASE])))<=$(=MonthEndt(max([anomes.autoCalendar.DATA_BASE])))"}>}RISCO_B_1_10)


Mês Anterior:

SUM({$<[anomes.autoCalendar.DATA_BASE]={">=$(=AddMonths(MonthStart(max([anomes.autoCalendar.DATA_BASE])),-1))<=$(=AddMonths(MonthEndt(max([anomes.autoCalendar.DATA_BASE])),-1))"}>}RISCO_B_1_10)

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
antoniodneto
Creator II
Creator II
Author

Thiago,

Acho que estou usando campos errados.

Na fórmula eu vi que tem um anomes mas eu não tenho esse campo, o único que eu tenho é o DATA_BASE.

Thiago_Justen_
MVP
MVP

Copiei da sua fórmula...

Mas a ideia é a seguinte:

Mês Corrente:

SUM({$<SEU_CAMPO_DATA={">=$(=MonthStart(max(SEU_CAMPO_DATA)))<=$(=MonthEndt(max(SEU_CAMPO_DATA)))"}>}RISCO_B_1_10)


Mês Anterior:

SUM({$<SEU_CAMPO_DATA={">=$(=AddMonths(MonthStart(max(SEU_CAMPO_DATA)),-1))<=$(=AddMonths(MonthEndt(max(SEU_CAMPO_DATA)),-1))"}>}RISCO_B_1_10)

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
antoniodneto
Creator II
Creator II
Author

Thiago quando eu utilizo essa fórmula está retornando 0. Eu reparei que no nome da fórmula a parte da data está aparecendo como >=6/1/2452<=6/30/2452, será que é necessário dar algum format da DATA, lembrando que ela está como YYYYMM (201801)

Abraço

Thiago_Justen_
MVP
MVP

Antonio, sugiro que você não utilize essa fórmula com um campo ano/mês. Procure utilizar um campo de data no formato DD/MM/YYYY.

Se isso não for possível precisaremos alterar a expressão pois o AddMonths nesse seu campo vai "bugar".

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
antoniodneto
Creator II
Creator II
Author

Thiago,

Arrumei o formato para DD/MM/YYYY mas a fórmula continua trazendo o valor do mês zero.

Por exemplo

ANOMES  201712 201801 201802

VALOR     201712 201801 201802

Onde deveria trazer os valores

ANOMES  201712 201801 201802

VALOR      201716 201712 201801

Entendeu? Abraço!

Thiago_Justen_
MVP
MVP

Entendi o que houve, mas me deixe perguntar:

Onde e de que maneira você tratou o campo data? Consegue printar o tratamento e o output?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Antonio;

Em seu script, transforme o campo [anomes.autoCalendar.DATA_BASE] em Date;

Load

    Date(Date#([anomes.autoCalendar.DATA_BASE],'YYYYMM')) As 'anomes.autoCalendar.DATA_BASE',

    ...

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
antoniodneto
Creator II
Creator II
Author

Mario,

Então como comentei anteriormente com o Thiago eu não tenho o campo anomes.

Abraço