Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi,
I'm using the following DAX measure to work out if a KPI for a particular category has been achieved:
KPI Achieved = SUMX (
Category,
IF (Category[Category] = "Beverages",if([%Avg]>=1,1,0),
IF (Category[Category] = "Confectionery Homestock",if([%Avg]>=1,1,0),
IF (Category[Category] = "Confectionery Impulse",if([%Avg]>=1,1,0),
IF (Category[Category] = "Food",if([%Avg]>=1,1,0),
IF (Category[Category] = "Purina",if([%TGT]>=1,1,0),
IF (Category[Category] = "Waters",if([% TGT]>=1,1,0),
BLANK() )
)
)))))
Each Category has a different target. I've used this function along with IF statements to see if the target is achieved for each category to highlight that with a 1. I'm then putting this measure into a table.
There's one added level of complexity - I need to show the results split across 2 higher categories - SS and MC, which would eventually give 12 KPIs, rathen than just 6. When I put this into the table the Total value at the end isn't the sum of all 12 categories, as follows:
So, for example, the second row should total to 11, not 6.
My Categories are in one table, my high Categories are in another and my list of IDs, on the left, is in one final table.
Can anyone help with this?
Thanks,
Mark
Solved! Go to Solution.
In your formula, it analysis on Category level only, it will not take the higher categories filter context, which means on grand total level, it will never calculate greater tha 6 since you only have 6 categories.
For your requirement, you should use a summarize table to have your calculation group on higher categories (SS, MC). You can try formula like below;
KPI Achieved = SUMX ( SUMMARIZE ( HighCategories, HighCategories[HighCategories], "KpiCount", SUMX ( Category, IF ( Category[Category] = "Beverages", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Confectionery Homestock", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Confectionery Impulse", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Food", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Purina", IF ( [%TGT] >= 1, 1, 0 ), IF ( Category[Category] = "Waters", IF ( [% TGT] >= 1, 1, 0 ), BLANK () ) ) ) ) ) ) ) ), [KpiCount] )
Regards,
In your formula, it analysis on Category level only, it will not take the higher categories filter context, which means on grand total level, it will never calculate greater tha 6 since you only have 6 categories.
For your requirement, you should use a summarize table to have your calculation group on higher categories (SS, MC). You can try formula like below;
KPI Achieved = SUMX ( SUMMARIZE ( HighCategories, HighCategories[HighCategories], "KpiCount", SUMX ( Category, IF ( Category[Category] = "Beverages", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Confectionery Homestock", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Confectionery Impulse", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Food", IF ( [%Avg] >= 1, 1, 0 ), IF ( Category[Category] = "Purina", IF ( [%TGT] >= 1, 1, 0 ), IF ( Category[Category] = "Waters", IF ( [% TGT] >= 1, 1, 0 ), BLANK () ) ) ) ) ) ) ) ), [KpiCount] )
Regards,
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
107 | |
100 | |
80 | |
63 | |
58 |
User | Count |
---|---|
148 | |
111 | |
94 | |
84 | |
67 |