Forum Discussion

iteronsid's avatar
iteronsid
New Member
3 years ago
Solved

Conditional reference to measures/options

Hello friends,

Relatively new to Power BI, business requirement relates to below sample scenario:

 

Have 2 measures:

Coverage = Count(Deals), Product = distinctCount(Deals)

 

Based on the data model, create a new field/measure?? in table/matrix with the header name Deals using the logic:

If Continent ="Asia" THEN [Coverage] ELSE IF Continent ="America" THEN [Product].

 

At run time - Using Dax in Table or Matrix (Not Power Query), how do I achieve above with or without the use of measures that have been created? Note: The field Continent should not be a part of the table/matrix(UI) but is a part of the star schema in the data model.

 

Thanks,

Sid

  • Anonymous's avatar
    Anonymous
    3 years ago

    In dax there is no else if but we csn put an if inside an if that acts like an else if so you can get 

     

    If(max(table[continent]) = "Asia", [coverage],IF(max(table[continent]) = "America",[product],Blank()))

     

    If(max(table[continent]) = "Asia", [coverage],IF(max(table[continent]) = "America",[product],0))

     

    If you want blank for none, use first measure if you want a 0 ,or none use second measure ,or if you have a measure already created for none then just put it instead of 0 or blank()

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Helloyou could try creating a new meaure

    If(max(table[continent]) = "Asia", [coverage],[product])

    • iteronsid's avatar
      iteronsid
      New Member

      Thanks for the quick revert.The field Continent has 3 possible values - Product, Coverage, None.

      How do we update the logic from ELSE to ELSE If (For the 2nd condition - Not equals product)?

      • Anonymous's avatar
        Anonymous
        Not applicable

        In dax there is no else if but we csn put an if inside an if that acts like an else if so you can get 

         

        If(max(table[continent]) = "Asia", [coverage],IF(max(table[continent]) = "America",[product],Blank()))

         

        If(max(table[continent]) = "Asia", [coverage],IF(max(table[continent]) = "America",[product],0))

         

        If you want blank for none, use first measure if you want a 0 ,or none use second measure ,or if you have a measure already created for none then just put it instead of 0 or blank()