Forum Discussion

nagaraj's avatar
nagaraj
Post Patron
6 years ago
Solved

LookupValue with Filter

Hi,

 

 Need help with DAX for below scenario

 

Scenario: Have TABLE1 and TABLE2, need to populate manager (in TABLE1) by having lookup (in TABLE2).

In TABLE2 i have multiple values for a single ID , i need to select the record where Type = MANAGER

 

Table 1

IdManager
1 
2 

 

Table 2 

IdnameType
1abcAssistant
1xyzManager
2bcdManager
2fghAssistant

 

Regards

Nagaraj

  • Hi tctrout 

     

    Thanks for the help, was able to resolve using below 

     

    Property_Manager = CALCULATE(FIRSTNONBLANK(Table2[Name],1),
    filter(all(Table2),
    Table2[Type] ="Property Manager" &&
    'Table1'[Id] = Table2[Id]))

7 Replies

  • MG86's avatar
    MG86
    Advocate II

    I know this is an older thread, but for future reference isn't it easier to just use the second lookup parameters of LOOKUPVALUE?:

    LOOKUPVALUE(
       'Table2'[Name], 'Table2'[Id], 'Table1'[Id], 'Table2[Type], "Manager")

  • tctrout's avatar
    tctrout
    Responsive Resident

    The approach I would explore in M Code, not DAX.. This can be done within the GUI interface

     

    Create copy of Table 2

    Filter for Manager only

    Remove duplicates on ID, if eixists.  This should provide you a table of manangers, their names and ID

     

    Go to Table 1 and merge table 2 using ID as the key/lookup value.

    • nagaraj's avatar
      nagaraj
      Post Patron

      Hi tctrout 

       

      Thanks for the help, was able to resolve using below 

       

      Property_Manager = CALCULATE(FIRSTNONBLANK(Table2[Name],1),
      filter(all(Table2),
      Table2[Type] ="Property Manager" &&
      'Table1'[Id] = Table2[Id]))

      • Gokul_G16's avatar
        Gokul_G16
        Resolver I
        • Thanks nagaraj
        • That is working fine
        • But have one concern while we used FIRSTNONBLANK()?
        • CAN U PLZ LET US KNOW THAT
        • What are the secnario we do it ?
  • v-lid-msft's avatar
    v-lid-msft
    Community Support

    Hi nagaraj ,

     

    We can try to create a calculated column in 'Table 1' to meet your requirement:

    Manager =
    CALCULATE (
        MAX ( 'Table 2'[name] ),
        'Table 2'[Type] = "Manager",
        'Table 2'[id] = 'Table 1'[id]
    )

     


    Best regards,

     

     

    • nagaraj's avatar
      nagaraj
      Post Patron

      v-lid-msft 

       

       HI, 

       

       Thanks for the help, was able to resolve this using the below 

       

      Property_Manager = CALCULATE(FIRSTNONBLANK(Table2[Name],1),
      filter(all(Table2),
      Table2[Type] ="Property Manager" &&
      'Table1'[Id] = Table2[Id]))