Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago

Help with relashionship in Variables

Hello ppl,

 

It´s my first post here soI´m gonna try to explain everything in details. 🙂


I have to create a measure to calculate the percent of a value that has 'rolled' from the last month and from the last range and show it result in a table by Month and each range. 

Measure:

% 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()
))))))


My relashionships between the tables:


The result without the collumns with ranges:

 

 

I'd appreciate if would someone try to help me 🙂 

Thank you.

Felipe

 

1 Reply

  • v-easonf-msft's avatar
    v-easonf-msft
    Icon for Community Support rankCommunity Support

    Hi, Anonymous 

    How is the current active relationship between dimFaixaAtraso2 and "Histórico" established? Have you tried creating the measure based on the active relationship between  _dimFaixaAtraso2[Faixa] and 'Histórico'[Faixa_atraso]?

     

    Best Regards,
    Community Support Team _ Eason