Forum Discussion
Crete measure for multiple columns
I have two tables are table 1 and table 2.
In table 1 the following columns are contains description, qty need 10 days, qty need 20 days, qty need 30 days and qty need 40 days.
In table 2 has days only 4 rows.
There's no technical connection in between two tables so I don't known how can I link together in order to achieve the result in visualisation.
Desired result and Example.
I apply the slicer for table 2 for days so
If I select 10 days then it will show only sum of qty of 10 days and the same thing for rest of the days.
I would like achieve the result in visualisation.
I am looking for measure or new calculate column in order to link in between two tables.
Snapshot of tables and desired result.
Hi Saxon10
I have a solution but it is not the most dynamic. If your column headers will never change then this may be a fine solution but I'm sure someone may have a more dynamic option. However, please see the below measure and let me know if this is a viable option.
CheckQty = SWITCH(TRUE(), CONTAINSSTRING("Qty Need 10 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 10 Days]), CONTAINSSTRING("Qty Need 20 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 20 Days]), CONTAINSSTRING("Qty Need 30 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 30 Days]), CONTAINSSTRING("Qty Need 40 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 40 Days])) + 0Result:
Kind regards,
Seanan
If this post helped, please consider accepting it as the solution.Hi Saxon10
You could try this:
Total = 'Items'[10 Days] + 'Items'[20 Days] + 'Items'[30 Days] + 'Items'[40 Days]Then click on the parameter column and adjust the code to:
Days = { ("10Days", NAMEOF('Items'[10 Days]), 0), ("20 Days", NAMEOF('Items'[20 Days]), 1), ("30 Days", NAMEOF('Items'[30 Days]), 2), ("40 Days", NAMEOF('Items'[40 Days]), 3), ("Total", NAMEOF('Items'[Total]), 4) }Result:
Hi Saxon10 ,
For the card create the following measure:
Measure = VAR __SelectedValue = SELECTCOLUMNS ( SUMMARIZE ( days , Days[Days] , Days[Days Fields]), Days[Days] ) var SelectedValuesDays = CONCATENATEX(__SelectedValue, Days[Days], "|") Return IF(CONTAINSSTRING(SelectedValuesDays, "10"), [10 days]) + IF( CONTAINSSTRING(SelectedValuesDays, "20"), [20 days]) + IF( CONTAINSSTRING(SelectedValuesDays, "30"), [30 days]) + IF( CONTAINSSTRING(SelectedValuesDays, "40"), [40 days])
21 Replies
- Saxon10Post Prodigy
- SeananSolution Supplier
Hi Saxon10
I have a solution but it is not the most dynamic. If your column headers will never change then this may be a fine solution but I'm sure someone may have a more dynamic option. However, please see the below measure and let me know if this is a viable option.
CheckQty = SWITCH(TRUE(), CONTAINSSTRING("Qty Need 10 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 10 Days]), CONTAINSSTRING("Qty Need 20 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 20 Days]), CONTAINSSTRING("Qty Need 30 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 30 Days]), CONTAINSSTRING("Qty Need 40 Days",MAX('Days'[Days])),SUM('Items'[Qty Need 40 Days])) + 0Result:
Kind regards,
Seanan
If this post helped, please consider accepting it as the solution.- SeananSolution Supplier
- Saxon10Post Prodigy
Seanan, I try to apply your measure logic in actual data and some reason measure working only qty needs 10 days and rest of them is showing 0 when I try to choose qty need 20 days, 30 days and 40 days I don't know why?
I have a lot blanks columns in each columns maybe that's the reason it's not calculated properly?
Can I get new calculate column instead of measure? is that possible?
in your sample data file working without any issues.
can you please advise.
- Ashish_MathurSuper User
- Saxon10Post Prodigy
Ashish_Mathur, Thanks for your reply, those qty columns came from dax not part of the data source therefore unable to unpivot the data.
can I get the same output without unpivot the data source.
Please advice
- MFelixSuper User
Hi Saxon10 ,
The option given by Seanan however and with the new parameter fileds you can have a dynamica table that shows all the values directly:
Create a sum measure for each column:
Now create the parameters
Now you can have a dynamic table
If you place it on a card you will have the first one selected also the order you select the values in the slicer is the order of the table: