Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!See when key Fabric features will launch and what’s already live, all in one place and always up to date. Explore the new Fabric roadmap
Requirement: Assign dynamic colors to the subcategory values on the clustered column chart.
Background: The chart shows Top 6 subcategories by SalesAmount and rest other categories as Others. There is a filter on subcategory in the filter pane on All Pages level
Partial Solution & the Problem: I have created a measure [SelectedSubcategoryColor] that does returns dynamic colors but it only works when more than 5 subcategories are selected. If less than 5 subcategories are selected, then the visual breaks. I want the visual to work even if 1 subcategory is selected
Below is the screenshot of the problem
here is the link to the pbix file
Solved! Go to Solution.
shout-out to Amira Bedhiafi for providing the solution on stackoverflow
Below is the DAX solution to the problem in the [SelectedSubcategoryColor] measure
SelectedSubcategoryColor =
VAR _CurrentSubcategory = SELECTEDVALUE ( Subcategory[SubcategoryName] )
VAR _AllSubcategories = ALLSELECTED( Subcategory )
VAR _CurrentRank = RANKX( _AllSubcategories, [Sales], , DESC )
RETURN
SWITCH(
TRUE(),
_CurrentRank = 1, "Red",
_CurrentRank = 2, "Green",
_CurrentRank = 3, "Blue",
_CurrentRank = 4, "Orange",
_CurrentRank = 5, "Purple",
_CurrentRank = 6, "Yellow",
_CurrentSubcategory = "Others", "Grey",
"Black"
)
shout-out to Amira Bedhiafi for providing the solution on stackoverflow
Below is the DAX solution to the problem in the [SelectedSubcategoryColor] measure
SelectedSubcategoryColor =
VAR _CurrentSubcategory = SELECTEDVALUE ( Subcategory[SubcategoryName] )
VAR _AllSubcategories = ALLSELECTED( Subcategory )
VAR _CurrentRank = RANKX( _AllSubcategories, [Sales], , DESC )
RETURN
SWITCH(
TRUE(),
_CurrentRank = 1, "Red",
_CurrentRank = 2, "Green",
_CurrentRank = 3, "Blue",
_CurrentRank = 4, "Orange",
_CurrentRank = 5, "Purple",
_CurrentRank = 6, "Yellow",
_CurrentSubcategory = "Others", "Grey",
"Black"
)
@Vickar I've done a different solution using ranking, getting rid of "others"
check the attached file!
hope this solves your issue
Dynamic Colors for TopN values on Column Chart.pbix
@MohTawfik, appreciate your feedback. "Others" is a part of the requirement. cannot be eliminated.
@Vickar As per your problem statement , you are trying to select less than 6 , when it has to be static what is the purpose of reducing the number of elements.
The example which I shared is working with all slicer values even when I select 1 it shows 1 value + others
https://drive.google.com/file/d/1CaSISzxacCwRldbqx7PLo1nyckrprPXk/view?usp=sharing
Proud to be a Super User!
the requirement is to show max 7 data elements on the visual if more than 6 subcategories are selected ( 6 topn and rest as others )
And it is a valid use case that the user can select less than 6 subcategories. the issue is not with [TopNSubcategorySales] measure. it is working fine for all scenarios. the issue is with the [SelectedSubcategoryColor] measure that assigns colors dynamically to the subcategories on the visual. this measure is breaking the visual if less than 5 subcategories are selected. I hope the issue is clearer now. Appreciate your efforts and support. And I double checked your solution, the visual is still breaking if I select less values in hte filter pane.
Look at the change in TOPN formula , i have changed the number 6 with a slicer value
Proud to be a Super User!
@VijayP appreciate your feedback. The problem persists though. If I select less than 5 subcategories from the filter pane, the visual still breaks. Also, as part of the requirement, the visual should show max 7 data elements, 6 topn and rest as others. So the topn shouldn't come from the slicer, it should be static value as 6
User | Count |
---|---|
88 | |
74 | |
69 | |
59 | |
56 |
User | Count |
---|---|
40 | |
38 | |
34 | |
32 | |
28 |