cancel
Showing results for
Did you mean:

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Anonymous
Not applicable

## How to avoid hard coding Dax

Hi I have a table as follows

 CustID GroupID CustType Amount Group_CustType_Concat 1 1 Intermediate 10 1Intermediate 1 1 Intermediate 20 1Intermediate 2 3 Regular 30 3Regular 2 3 Regular 40 3Regular 2 3 Regular 30 3Regular 3 2 Intermediate 20 2Intermediate 3 2 Intermediate 60 2Intermediate 4 4 Rare 40 4Rare 5 1 Rare 30 1Rare

I have concatinated GroupID and CustType to form unique combination.

I have then created what-if parameters for each CustType grouped by Group IDs as seen below.

The goal is to sum 'Amount' for each unique value in Group_CustType_Concat and then multiply it by the respective what-if parameter value. In the current Dax I am creating  measures for each unique concatination to calculate the sum of amount and then multiply it by the respective parameter value. Another measure is created to add the results of the measures and group them by CustType to form a line chart.

1Intermediate= Calculate(sum('Table'[amount]),'Table'[Group_CustType_Concat]=="1Intermediate") * '1Intermediate'[1Intermediate Value]

This is repeated for all unique Group_CustType_Concat and then added together using switch statement based on each custType.

Linechart = var type=IF(ISBLANK(SELECTEDVALUE('Table'[CustType])),TRUE,SELECTEDVALUE('Table'[CustType]))
return switch(type,
"Intermediate", [1Intermediate] + [2Intermediate] + [3Intermediate]
,"Regular", [1Regular] + [2Regular]+ [3Regular]

However, this is a very inefficient way, as there can be multiple Groups and CustTypes leading to a large number of combinations. Is there a more efficient way of doing this, so I don't have to hardcode Dax for each Group_CustType_Concat? Maybe some kind of loop that itterates through each Group_CustType_Concat and automatically calculates the sum and multiplies it by it's respective parameter? Maybe power query loop?

1 ACCEPTED SOLUTION
Community Support

Hi @Anonymous

You can try this measure. But the section in SWITCH function is still hard coding.

``````Result =
VAR _table =
SUMMARIZE (
'Table',
'Table'[GroupID],
'Table'[CustType],
'Table'[Group_CustType_Concat],
"Sum_Of_Amount", SUM ( 'Table'[Amount] )
)
VAR _table2 =
_table,
"Amount*Parameter",
[Sum_Of_Amount]
* SWITCH (
[Group_CustType_Concat],
"1Intermediate", [Intermediate G1 Value],
"2Intermediate", [Intermediate G2 Value],
"1Regular", [Regular G1 Value],
"2Regular", [Regular G2 Value],
"1Rare", [Rare G1 Value],
"2Rare", [Rare G2 Value]
)
)
RETURN
SUMX ( _table2, [Amount*Parameter] )
``````

I use a table visual in my sample. For a line chart, you can put CustType on Axis or Legend to check the result.

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

Community Support

Hi @Anonymous

You can try this measure. But the section in SWITCH function is still hard coding.

``````Result =
VAR _table =
SUMMARIZE (
'Table',
'Table'[GroupID],
'Table'[CustType],
'Table'[Group_CustType_Concat],
"Sum_Of_Amount", SUM ( 'Table'[Amount] )
)
VAR _table2 =
_table,
"Amount*Parameter",
[Sum_Of_Amount]
* SWITCH (
[Group_CustType_Concat],
"1Intermediate", [Intermediate G1 Value],
"2Intermediate", [Intermediate G2 Value],
"1Regular", [Regular G1 Value],
"2Regular", [Regular G2 Value],
"1Rare", [Rare G1 Value],
"2Rare", [Rare G2 Value]
)
)
RETURN
SUMX ( _table2, [Amount*Parameter] )
``````

I use a table visual in my sample. For a line chart, you can put CustType on Axis or Legend to check the result.

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

Announcements

#### Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

#### Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

#### Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

#### The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors