Need Guidance: Creating Dynamic Summary Tables with Discrete Dimension Logic

I’m currently in the process of converting Tableau reports to Power BI and have encountered a challenge with replicating a specific calculation. I successfully reproduced the logic in Power BI using a SWITCH statement, which I’ve named Client Quadrant Measure, and it returns the expected results.

However, I’m unsure whether the original Tableau field behaves more like a calculated column or a measure in Power BI terms. Since this is my first time working with Tableau, I examined the field properties and found the following details:

  • Discrete Dimension
  • Type: Calculated Field
  • Contains NULL: Unknown
  • Sort flags: Case-sensitive
  • Status: Valid

In an attempt to mimic this behavior, I tried adding the Client Quadrant logic as a calculated column to the Order table in Power BI. I realize this approach is generally discouraged—especially when the logic depends on measures or filters—plus it resulted in an error: “Not enough memory”.

What I’m ultimately trying to achieve is a dynamic summarized table that includes the Client Quadrant as a grouping and the ability to use various fields to slide the summarized table, with accompanying measures like ‘Active,’ ‘Revenue,’ and ‘Win Rate $’ calculated per quadrant.

Attached is the pbix and excel files.

Has anyone faced a similar scenario when migrating from Tableau to Power BI? How did you approach dimensional fields that originate from Tableau’s calculated discrete dimensions? Any advice on best practices for structuring such logic to maintain interactivity and performance in Power BI would be greatly appreciated.
3000_records.csv (252.6 KB)
3000 records.pbix (518.9 KB)

Hi @Godzy - As need dynamic calculation affected by filter, it will be measure in Power BI. For Summarization, can try below if it meets your requirements.

Create a measure to get Family/orders based on Client Quadrant measure. Once have corresponding Family/orders related to Quadrant then perform required summarization as shown in below measure.

Dynamic Quadrant SumOrder= var a = SELECTEDVALUE('Client Quadrant Table'[Client Quadrant Category])
var b = filter(SUMMARIZE('Order','Order'[Family],"ClientQuad",[Client Quadrant],"Sumorder",[CY Order $],"SumActClient",[Active Clients]),[ClientQuad] = a)
RETURN
sumx(b,[Sumorder])

Blockquote

Same can be used for other measures like “Sum of Active Client” etc.

image

Thanks
Ankit J

1 Like

Thank you Ankit, for the suggested solution. I used the recommended DAX measure; however, when I applied it to the main data source, I ran into a “Query has exceeded resources” error.

Hi @Godzy - Can you share what have you tried in measure definition and is your source in Direct Query mode.

Thanks
Ankit J

Thanks @ankit, I am connected to a snowflake using import mode for my table. The main table contains more that 5M and about 100 columns. For now, I am working with few columns in my report.