Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hello Power BI Team,
I would like to suggest a new feature for the Matrix visual in Power BI: the ability to use dynamic column headers that reflect the current context, such as displaying actual month names instead of static labels like "Curr." or "Prev.".
Current Limitation:
- Matrix columns can only use static field names or values from a table.
- DAX measures cannot be used as column headers, so it is not possible to dynamically display contextual labels (e.g., "Mar 2023" for "Curr.", "Feb 2023" for "Prev.") that change with slicer or filter interaction.
Proposed Feature:
- Allow the Matrix visual to use DAX measures or expressions as column (and/or row) headers.
- Enable column headers to update dynamically based on context, such as current period selection, previous period, or other slicer/filter values.
This would greatly enhance the clarity and flexibility of time-based and comparative reporting.
Example Use Case:
In a financial or risk report, instead of generic "Curr." and "Prev." columns, the Matrix would automatically show "Mar 2023" and "Feb 2023" as headers, reflecting the periods being compared.
This reduces user confusion and makes reports more intuitive, especially when using time slicers.
If this capability already exists or there are recommended workarounds, I would appreciate any guidance. Otherwise, I believe this enhancement would add significant value to Power BI reporting.
Thank you for considering this suggestion!
Hi @Haroldhngn,
Thank you for reaching out to the Microsoft Fabric Community Forum. Also, thank to @Poojara_D12, @lbendlin, for those inputs on this thread.
You are on the right track, but the limitation here is with the Matrix visual in Power BI, as column headers can only come from columns, not measures, so your DAX won’t dynamically replace “Curr.” / “Prev.” even if it returns correct values. You can improve stability by using SELECTEDVALUE(StaticMeasureMapping[ShortName]), but to achieve dynamic month names (like “Mar 2023”, “Feb 2023”), you will need to move this logic into a column based approach (e.g., a disconnected table with offsets and a derived month label used in Matrix columns), while advanced options like calculation groups can help further, currently measure-driven headers aren’t supported, so you may consider voting for this feature here: https://ideas.fabric.microsoft.com
Refer tothese docs for guidance:
1.Create a Matrix Visual in Power BI - Power BI | Microsoft Learn
2.Use report readers to change visuals - Power BI | Microsoft Learn
3.Calculation groups in Analysis Services tabular models | Microsoft Learn
Hope that clarifies. Let us know if you have any doubts regarding this. We will be happy to help.
Thank you for using the Microsoft Fabric Community Forum.
Hi @Haroldhngn,
Thank you for reaching out to the Microsoft Fabric Community Forum. Also, thanks to @Poojara_D12, @lbendlin, for those inputs on this thread.
Has your issue been resolved? If the response provided by the community member @Poojara_D12, @lbendlin, addressed your query, could you please confirm? It helps us ensure that the solutions provided are effective and beneficial for everyone.
Hope this helps clarify things and let me know what you find after giving these steps a try happy to help you investigate this further.
Thank you for using the Microsoft Community Forum.
Use fixed by "selected and switch" function to replace hardcode Prev. and Curr. by selected value of previous month and current month.
Hi @Haroldhngn
What you’re asking for isn’t currently supported in Microsoft Power BI—and it’s not an oversight, it’s a limitation of how the Matrix visual is architected: column headers must come from columns (metadata), not measures (runtime evaluation), so truly dynamic headers driven by DAX measures aren’t possible. The practical workaround is to shift the logic from measures to a column-based approach, typically by creating a disconnected table (e.g., “Curr”, “Prev”), mapping those to actual dates using calculation logic (via measures or calculation groups if you’re using Tabular Editor), and then exposing a formatted column (like Month-Year) as the header instead of static labels; alternatively, you can use Field Parameters to swap columns dynamically, though that still won’t fully mimic measure-driven headers. The blunt reality: if you stick to pure measures, you’re stuck—so you need to redesign the model slightly to push header logic into columns, not calculations.
If this is important to you please consider voting for an existing idea or raising a new one at https://ideas.fabric.microsoft.com
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 1 |