It´s my first post here soI´m gonna try to explain everything in details. 🙂
% VPL Rolagem Teste Valor Condicional teste =
--First step defining variables from last month and each range:
VAR VPLMESANSEMATRASO = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
VAR VPLMESAN1A4 = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="1-4", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
VAR VPLMESAN5A29 = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="5-29", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
VAR VPLMESAN30A59 = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="30-59", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
VAR VPLMESAN60A89 = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="60-89", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
VAR VPLMESAN90A119 = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="90-119", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
VAR VPLMESAN120MAIS = CALCULATE([VPL Rolagem M-1],'Histórico'[Faixa_atraso_M-1]="+ 120", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso_M-1]))
--First step defining variables from current month and each range:
VAR VPLMESATSEMATRASO = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
VAR VPLMESAT1A4 = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="1-4",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
VAR VPLMESAT5A29 = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="5-29",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
VAR VPLMESAT30A59 = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="30-59",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
VAR VPLMESAT60A89 = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="60-89",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
VAR VPLMESAT90A119 = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="90-119",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
VAR VPLMESAT120MAIS = CALCULATE([VPL Rolagem],'Histórico'[Faixa_atraso]="+ 120",'Histórico'[Rolagem]="Rolagem", USERELATIONSHIP(_dimFaixaAtraso2[Faixa], 'Histórico'[Faixa_atraso]))
I´ve check until this part and it´s working, but when I define the parameter to calculate, apparently the DAX cannot identify a relashionship between the VARIABLES I´m trying to divide in the If's.--This parameter I defined to specify which range it should calculate the variable.
VAR MAXID = max(_dimFaixaAtraso2[Id])
--Here the conditional to calculate in the table according to the range.
RETURN
IF(MAXID=1, DIVIDE(VPLMESAT1A4, VPLMESANSEMATRASO),
IF(MAXID=2, DIVIDE(VPLMESAT5A29, VPLMESAN1A4),
IF(MAXID=3, DIVIDE(VPLMESAT30A59, VPLMESAN5A29),
IF(MAXID=4, DIVIDE(VPLMESAT60A89, VPLMESAN30A59),
IF(MAXID=5, DIVIDE(VPLMESAT90A119, VPLMESAN60A89),
IF(MAXID=6, DIVIDE(VPLMESAT120MAIS, VPLMESAN90A119),
BLANK()
))))))