Forum Discussion

cosminzanfir's avatar
cosminzanfir
Frequent Visitor
3 years ago
Solved

Slice value based on disconnected table with dynamic values

Hello,

Is there a solution for the following problem?
I have a measure ( a simple SUM) that is going to be displayed in a Matrix visual.
I need to filter that value based on a selected version from a slicer.
The issue is that the values from the slicer will change in time. So working with SWITCH ( hardcoded values) is not a solution.

 

Is there a way to achieve a measure that is recalculated based on the user selection from a slicer?

 

Now i have the fact table - containing the data used for the SUM and a disconnected table used for slicing the data.

 

 

  • It depends on what you are trying to achieve. If your disconnected table contains values which appear in a column in your fact table, and you want the slicer to choose only those values, you can do something like

    Measure with filter = CALCULATE( [Base measure], TREATAS( VALUES('Disconnected table'[Column]), 'Fact table'[Column]) )

6 Replies

  • It depends on what you are trying to achieve. If your disconnected table contains values which appear in a column in your fact table, and you want the slicer to choose only those values, you can do something like

    Measure with filter = CALCULATE( [Base measure], TREATAS( VALUES('Disconnected table'[Column]), 'Fact table'[Column]) )
    • cosminzanfir's avatar
      cosminzanfir
      Frequent Visitor

      Using TREATAS might be a better solution but keep getting the error:

       

      • johnt75's avatar
        johnt75
        Super User

        Not sure if this will work, but you could try duplicating the TREATAS, one version using 'Table'[Version.Version Level 01] and one version using 'Table'[Version.Version Level 01.Key]

  • cosminzanfir's avatar
    cosminzanfir
    Frequent Visitor

    Thank you johnt75 .
    I was able to resolve the issue by using SELECTEDVALUE

     

    VAR selection =
        SELECTEDVALUE ( Table[ Level 01.Key], [Plan] )
    VAR selectioncalculated =
        IF (
            SELECTEDVALUE ( Table[ Level 01.Key]) = BLANK (),
            [Plan],
            CALCULATE (
                [Plan],
                FILTER ( Table, Table[ Level 01.Key] = selection )
            )
        )
    RETURN
        selectioncalculated
    • johnt75's avatar
      johnt75
      Super User

      That's good, but bear in mind it will not work if the user selects multiple options from the slicer, it will perform the same calculation as if they made no selections. TREATAS will work for 0, 1 or more selections