Forum Discussion

Bailo220587's avatar
Bailo220587
New Member
3 years ago
Solved

help with this dax formula

Hello, I am posting this message for you to help me build a dax formula.
I would like from this table to construct the following sentence: "462 tons are from abroad including 221 in ES and 214 in SE". that is to say that in the sentence I want to extract the 2 maximum values ​​and the country by excluding France. 

I put the picture for you to understand better.

Please Help me! 

 

  • Hey Bailo220587

    Give this a try:

     

    Measure = 
    VAR _total =
        CALCULATE ( SUM ( 'Table'[weight] ), 'Table'[country] <> "FR" )
    VAR _max_weights =
        TOPN (
            2,
            CALCULATETABLE ( VALUES ( 'Table'[weight] ), 'Table'[country] <> "FR" ),
            'Table'[weight], DESC
        )
    VAR _max_weight_1 =
        MAXX ( _max_weights, 'Table'[weight] )
    VAR _max_weight_2 =
        MINX ( _max_weights, 'Table'[weight] )
    VAR _max_country_1 =
        CALCULATE ( SELECTEDVALUE ( 'Table'[country] ), 'Table'[weight] = _max_weight_1 )
    VAR _max_country_2 =
        CALCULATE ( SELECTEDVALUE ( 'Table'[country] ), 'Table'[weight] = _max_weight_2 )
    VAR _result = _total & " tons are from abroad including " & _max_weight_1 & " in " & _max_country_1 & " and " & _max_weight_2 & " in " & _max_country_2 & "."
    RETURN
        _result

     

2 Replies

  • Barthel's avatar
    Barthel
    Solution Sage

    Hey Bailo220587

    Give this a try:

     

    Measure = 
    VAR _total =
        CALCULATE ( SUM ( 'Table'[weight] ), 'Table'[country] <> "FR" )
    VAR _max_weights =
        TOPN (
            2,
            CALCULATETABLE ( VALUES ( 'Table'[weight] ), 'Table'[country] <> "FR" ),
            'Table'[weight], DESC
        )
    VAR _max_weight_1 =
        MAXX ( _max_weights, 'Table'[weight] )
    VAR _max_weight_2 =
        MINX ( _max_weights, 'Table'[weight] )
    VAR _max_country_1 =
        CALCULATE ( SELECTEDVALUE ( 'Table'[country] ), 'Table'[weight] = _max_weight_1 )
    VAR _max_country_2 =
        CALCULATE ( SELECTEDVALUE ( 'Table'[country] ), 'Table'[weight] = _max_weight_2 )
    VAR _result = _total & " tons are from abroad including " & _max_weight_1 & " in " & _max_country_1 & " and " & _max_weight_2 & " in " & _max_country_2 & "."
    RETURN
        _result

     

    • Bailo220587's avatar
      Bailo220587
      New Member

      Hello, I had to create an aggregation table to succeed. but I used your sequence Thank you for everything