Skip to main content
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_

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_

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_

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_

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_

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