Forum Discussion

Harini07's avatar
Harini07
Regular Visitor
6 months ago
Solved

Replicating Qlik Sense behavior: Dynamic grouping by QCI or Reportees from different tables

Hi Community,

I am migrating a Qlik Sense dashboard to Power BI and trying to replicate a specific Qlik behavior related to dynamic grouping.

Requirement:

In Qlik Sense, I have a filter called “QCI / Reportees” where:

  • QCI comes from one table
  • Reportees (Direct Reports) come from a different table

Based on the user selection:

  • If QCI is selected → the matrix visual should group revenue by QCI
  • If Reportees is selected → the matrix visual should group revenue by Reportee 
    This behavior works seamlessly in Qlik because of its associative engine, but in Power BI I’m struggling to replicate it.

    Challenge:

    Power BI matrix requires a fixed row dimension, but here the grouping dimension needs to change dynamically based on slicer selection (QCI vs Reportees).

    Question:

    What is the recommended Power BI approach to:

    • Use a single slicer to choose between QCI or Reportees
    • Dynamically change the grouping (rows) of a matrix visual
    • Achieve behavior similar to Qlik Sense

      Any guidance, patterns, or best practices would be greatly appreciated.

      Thanks in advance!

  • The standard Power BI approach for this is Field Parameters, which were designed exactly for this kind of dynamic dimension switching.
    Setup:

    Go to Modeling → New parameter → Fields
    Add both your QCI column and your Reportees column to the parameter
    This creates a disconnected table with a slicer — selecting "QCI" or "Reportees" changes which field is active

    Use in the matrix:
    Put the Field Parameter in the Rows well of your matrix instead of a fixed column. The matrix rows will then switch between QCI and Reportees based on what the user selects in the slicer.
    For the revenue measure, you may need a measure that's aware of which grouping is active:
    daxRevenue by Selection =
    IF(
    SELECTEDVALUE(GroupingParameter[GroupingParameter Order]) = 0,
    [Revenue by QCI],
    [Revenue by Reportees]
    )
    The main limitation vs. Qlik: since QCI and Reportees come from different tables, make sure both have a path to your revenue fact table through the model relationships. If they do, the field parameter approach should give you the same single-slicer dynamic grouping behavior you had in Qlik

  • 1) Create a Field Parameter

    Modeling tab → New Parameter → Fields → add both columns: the QCI column from the QCI table and the Reportee column from the Reportees table. Give the parameter a name like "Grouping Dimension". Power BI generates a parameter table automatically with a DAX definition like:

     

    Grouping Dimension = {
    ("QCI", NAMEOF('QCI'[QCI]), 0),
    ("Reportees", NAMEOF('Reportees'[Reportee]), 1)
    }

     

    2) Enable the slicer

    Power BI automatically adds a slicer for the parameter. Place it on the canvas, this becomes your QCI / Reportees toggle. Set it to single select.

     

    3) Configure the matrix

    Drag the Grouping Dimension parameter field into the Rows well of the matrix. When the user selects QCI from the slicer, the matrix groups by QCI. When they select Reportees, it groups by Reportee.

  • Hi Harini07,

    Thank you Juan-Power-bi, cengizhanarslan, for your insights.

    In Power BI Desktop, use Field Parameters to include both QCI and Reportees in a single parameter. Add this parameter to the Matrix Rows and use its slicer to switch between them, allowing the grouping to change dynamically. Ensure both fields are properly related to the revenue table for correct filtering.

    Use report readers to change visuals - Power BI | Microsoft Learn

    Implement Data Translation Using Field Parameters - Power BI | Microsoft Learn

     

    Thank you.

5 Replies

  • The standard Power BI approach for this is Field Parameters, which were designed exactly for this kind of dynamic dimension switching.
    Setup:

    Go to Modeling → New parameter → Fields
    Add both your QCI column and your Reportees column to the parameter
    This creates a disconnected table with a slicer — selecting "QCI" or "Reportees" changes which field is active

    Use in the matrix:
    Put the Field Parameter in the Rows well of your matrix instead of a fixed column. The matrix rows will then switch between QCI and Reportees based on what the user selects in the slicer.
    For the revenue measure, you may need a measure that's aware of which grouping is active:
    daxRevenue by Selection =
    IF(
    SELECTEDVALUE(GroupingParameter[GroupingParameter Order]) = 0,
    [Revenue by QCI],
    [Revenue by Reportees]
    )
    The main limitation vs. Qlik: since QCI and Reportees come from different tables, make sure both have a path to your revenue fact table through the model relationships. If they do, the field parameter approach should give you the same single-slicer dynamic grouping behavior you had in Qlik

  • 1) Create a Field Parameter

    Modeling tab → New Parameter → Fields → add both columns: the QCI column from the QCI table and the Reportee column from the Reportees table. Give the parameter a name like "Grouping Dimension". Power BI generates a parameter table automatically with a DAX definition like:

     

    Grouping Dimension = {
    ("QCI", NAMEOF('QCI'[QCI]), 0),
    ("Reportees", NAMEOF('Reportees'[Reportee]), 1)
    }

     

    2) Enable the slicer

    Power BI automatically adds a slicer for the parameter. Place it on the canvas, this becomes your QCI / Reportees toggle. Set it to single select.

     

    3) Configure the matrix

    Drag the Grouping Dimension parameter field into the Rows well of the matrix. When the user selects QCI from the slicer, the matrix groups by QCI. When they select Reportees, it groups by Reportee.

  • Hi Harini07,

    Thank you Juan-Power-bi, cengizhanarslan, for your insights.

    In Power BI Desktop, use Field Parameters to include both QCI and Reportees in a single parameter. Add this parameter to the Matrix Rows and use its slicer to switch between them, allowing the grouping to change dynamically. Ensure both fields are properly related to the revenue table for correct filtering.

    Use report readers to change visuals - Power BI | Microsoft Learn

    Implement Data Translation Using Field Parameters - Power BI | Microsoft Learn

     

    Thank you.

  • Hi Harini07,

    Have you had a chance to review the solution we shared earlier? If the issue persists, feel free to reply so we can help further.

     

    Thank you.

  • Hi  Harini07,

    Checking in to see if your issue has been resolved. let us know if you still need any assistance.

     

    Thank you.