Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

DAX formula for calculated column to get consecutive text values from two different tables

 

Hello All,

I have three tables including. 

 

Table1                          Table2                                          Table3

I am trying to create a DAX formula as a calculated column over table1 as below:-

 

Username = If(Table1[Method] = 1, Values(Table2[U_Name], Values(Table3[D_Name]))

But somehow it ends up with empty column and I am unable to achieve the task. 

 

Can someone please help me with this DAX formula.

 

Thanks in advance!

  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi Anonymous 

     

    I think this is something to do with the sequence of events in PBI. Looks like calculate columns are calculated before the relations are enforced. In your case, the formula tries to return an entire column where a single value is expected.

     

    The measure below (created as Measure, not a Calculated Column!) does what you seem to need:

    Username = 
    var TEMP_ID = CALCULATE(MAX(Table1[Method])) 
    var U_Name = CALCULATE(MAX(Table2[U_Name])) 
    var D_Name = CALCULATE(MAX(Table3[D_Name])) 
    return
    if(TEMP_ID=1, U_Name, D_Name)

     

     

    Kind regards,

    JB

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous 

     

    I think this is something to do with the sequence of events in PBI. Looks like calculate columns are calculated before the relations are enforced. In your case, the formula tries to return an entire column where a single value is expected.

     

    The measure below (created as Measure, not a Calculated Column!) does what you seem to need:

    Username = 
    var TEMP_ID = CALCULATE(MAX(Table1[Method])) 
    var U_Name = CALCULATE(MAX(Table2[U_Name])) 
    var D_Name = CALCULATE(MAX(Table3[D_Name])) 
    return
    if(TEMP_ID=1, U_Name, D_Name)

     

     

    Kind regards,

    JB

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

    Hi Anonymous 

    leave tables no relationship,

    Then create a calculated column in Table1

    Column =
    IF (
        Table1[Method] = 1,
        LOOKUPVALUE ( Table2[U_Name], Table2[Temp_Id], Table1[Temp Id] ),
        LOOKUPVALUE ( Table3[D_Name], Table3[Id], Table1[Temp Id] )
    )
    
    Best Regards
    Maggie
    Community Support Team _ Maggie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.