Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Dax Help!!

Hi,

 

I'm looking for a DAX formula which can help me get the below mentioned results.

 

Account NameCountryRevenue 
XYZSingapore1000Ignore This
XYZThailand800Ignore This
XYZVietnam900Ignore This
XYZSri Lanka1200Consider this
ABCSingapore400Consider this
DEFPhilippines200Consider this

 

For example, there's an account with multiple engagements in different locations. I should consider the account with highest revenue in a given location and ignore the rest.

 

Any help on this would be really appreciated!!

 

Thanks in advance!

 

Regards,

Mahesh

  • Anonymous ,

    new column =
    var _max = maxx(filter(Table, [Account Name] = earlier([Account Name])),[Revenue])
    return
    if( [Revenue] =_max, [Country],blank())

5 Replies

  • Anonymous , Try like

    new column =
    var _max = maxx(filter(Table, [Account Name] = earlier([Account Name])),[Revenue])
    return
    if( [Revenue] =_max, "Consider this", "Ignore This")

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi amitchandak ,

       

      Thank you for your swift response.

       

      I'm looking for the result as below:

       

      Account NameCountryRevenueCountry_Result
      XYZSingapore1000 
      XYZThailand800 
      XYZVietnam900 
      XYZSri Lanka1200Sri Lanka
      ABCSingapore400Singapore
      DEFPhilippines200Philippines

       

      If the the critiria isn't matching, I should get a blank else the Country name.

      • amitchandak's avatar
        amitchandak
        Super User

        Anonymous ,

        new column =
        var _max = maxx(filter(Table, [Account Name] = earlier([Account Name])),[Revenue])
        return
        if( [Revenue] =_max, [Country],blank())

  • Hi, Anonymous 

     

    Please check the below measure.

     

     

    Result Measure =
    VAR currentaccount =
    MAX ( 'Table'[Account Name] )
    VAR maxrevbyacount =
    GROUPBY (
    FILTER ( ALL ( 'Table' ), 'Table'[Account Name] = currentaccount ),
    'Table'[Account Name],
    "@maxrev", MAXX ( CURRENTGROUP (), 'Table'[Revenue] )
    )
    RETURN
    IF (
    SUM ( 'Table'[Revenue] ) = MAXX ( maxrevbyacount, [@maxrev] ),
    "Consider this",
    "Ignore This"
    )

     

    Hi, My name is Jihwan Kim.

     

    If this post helps, then please consider accept it as the solution to help other members find it faster, and give a big thumbs up.

     

    Linkedin: https://www.linkedin.com/in/jihwankim1975/

    • Anonymous's avatar
      Anonymous
      Not applicable

      hi Jihwan_Kim ,

       

      Thank you for responding so quickly.

       

      I'm looking for the result as below:

       

      Account NameCountryRevenueCountry_Result
      XYZSingapore1000 
      XYZThailand800 
      XYZVietnam900 
      XYZSri Lanka1200Sri Lanka
      ABCSingapore400Singapore
      DEFPhilippines200Philippines

       

      If the the critiria isn't matching, I should get a blank else the Country name.