Forum Discussion

fabdata1207's avatar
fabdata1207
Regular Visitor
4 years ago
Solved

Dynamic Total Column based on slicer

Hi Guys,

 

I have the challenge that I need to show the dynamic total in a separeted column according to a slicer.

 

For example if I filter 2 countries I need to show the total for these two countries. The reson is because I need this total to be a dynamic denominator for future calculations.

 

Please see the sample below:

 

Filter: Selected Australia and Singapore = total of 10 

 

CountryValueTotal Dynamic Colum
Australia510
New Zealand310
Singapore510
Total1310

 

Slicer: Selected New Zealand and Singapore = total of 8

 

CountryValueTotal Dynamic Colum
Australia58
New Zealand38
Singapore58
Total138

 

Is there anyway to achieve this with DAX?

 

Thanks!!

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi fabdata1207 ,

     

    A calculated column is static, it won't change for slicer selection.

    You may try a measure instead.

     

    First you need to create a separate country table for the slicer to select. This country table cannot have a relationship with the main table.

    A calculated table:

    Country=DISTINCT('Table'[Country])

     

    Then, create a measure.

    Total Dynamic Measure = CALCULATE(SUM('Table'[Value]),FILTER(ALLSELECTED('Table'),[Country] in ALLSELECTED(Country[Country])))

     

    You can check more details from the attachment.

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

     

     

2 Replies

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    Yes. Create a disconnected table with the values of interest with the DISTINCT or VALUES function, and use that new table/column in your slicer. You can then use an expression like this to get your dynamic total.

     

    Selected Total =
    VAR sel =
    DISTINCT( SlicerTable[Country] )
    RETURN
    CALCULATE(
    SUM( table[Value] ),
    ALL( Table[Country] ),
    Table[Country] IN sel
    )

     

    Pat

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi fabdata1207 ,

     

    A calculated column is static, it won't change for slicer selection.

    You may try a measure instead.

     

    First you need to create a separate country table for the slicer to select. This country table cannot have a relationship with the main table.

    A calculated table:

    Country=DISTINCT('Table'[Country])

     

    Then, create a measure.

    Total Dynamic Measure = CALCULATE(SUM('Table'[Value]),FILTER(ALLSELECTED('Table'),[Country] in ALLSELECTED(Country[Country])))

     

    You can check more details from the attachment.

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.