Forum Discussion

janani80's avatar
janani80
Frequent Visitor
1 year ago
Solved

Matrix Visual

Hi All,   I am working on matrix visual and I have multiple year data and based on the year slicer I want my data to reflect. Also the header in the matrix should change dynamically. Eg if I select...
  • danextian's avatar
    1 year ago

    Hi janani80 

     

    This is possible but the approach is not very straightforward. You'll need a disconnected table to hold the name of the measures and sales is sorted twice, being the first one and then after volumes, another column has to be created that has a different value that still appears as sales thus the calculated column in the screenshot below.

    Then you will need two more disconnected tables both containing the years - the first one will be used as a dimension while the other one in a slicer.

     

    And then the measures that will bind these unrelated tables in a visual.

    Switch Measure = 
    VAR SelectedSort =
        SELECTEDVALUE ( 'Calculations'[Sort] )
    RETURN
        SWITCH (
            SelectedSort,
            1, [Sales Amt],
            2, [Commission Amt],
            3, [Volumes Amt],
            4, [Sales Amt],
            5, [Calls Amt],
            6, [Rejections Amt],
            7, [Leads Amt]
        )
    

     

    Dynamic Measure = 
    VAR SelectedSort =
        SELECTEDVALUE ( 'Calculations'[Sort] )
    VAR SelectedYear =
        SELECTEDVALUE ( Years2[Year] )
    RETURN
        IF (
            SelectedSort <= 2,
            CALCULATE (
                [Switch Measure],
                FILTER (
                    VALUES ( DateTable[Year] ),
                    DateTable[Year]
                        IN VALUES ( Years[Year] )
                            && DateTable[Year] < SelectedYear
                )
            ),
            IF (
                SELECTEDVALUE ( Years[Year] ) = SelectedYear,
                CALCULATE ( [Switch Measure], KEEPFILTERS ( DateTable[Year] = SelectedYear ) )
            )
        )
    

    And here's the output

     

     

  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi janani80 ,

    If your question is not resolved, you are welcome to continue asking questions. If it is solved please mark the corresponding answer as a solution.

     

    Best Regards