Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
1 year ago
Solved

Accessible Reporting - Convert Matrix to Table, using Calculation Groups?

Hi,   Our organisation work with individuals how use screen readers to understand our data. I want to replicate the following matrix as a table:     But I want to keep Month/Year in each c...
  • v-venuppu's avatar
    1 year ago

    Hi Anonymous ,

    You are absolutely right to look for a more accessible alternative - however, DAX does not support dynamic column names in a calculated table. This means we can't label columns like "July", "August", etc. based on date logic.

     Instead, the best approach is to return rows with dynamic month labels and use a table visual, which is screen reader friendly.

    Here’s a simplified calculated table that does this:

    FlattenedClientReach =
    VAR MaxMonthID = MAX('01b: Calendar'[Month Year ID])
    RETURN
    SELECTCOLUMNS(
    ADDCOLUMNS(
    GENERATE(
    'AT - CLIENT REACH',
    VAR Client = 'AT - CLIENT REACH'[Client ID]
    RETURN
    FILTER(
    ADDCOLUMNS(
    '01b: Calendar',
    "ReachValue",
    CALCULATE(
    'AT - CLIENT REACH'[Measures - Client Reach],
    'AT - CLIENT REACH'[Client ID] = Client
    )
    ),
    '01b: Calendar'[Month Year ID] > MaxMonthID - 12 &&
    '01b: Calendar'[Month Year ID] <= MaxMonthID
    )
    ),
    "MonthName", FORMAT('01b: Calendar'[Date], "MMM YYYY")
    ),
    "Client", [Client ID],
    "Month", [MonthName],
    "ClientReach", [ReachValue]
    )

    If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" – I’d truly appreciate it! 

    Thank you.