Forum Discussion
Conditional Formatting of Visuals
I have 2 visuals I am trying to add conditional formatting to. Visual 2 has conditional formatting based on the Region. The data set has a column called Region, and a calculated column called Color using this formula:
Color = SWITCH(TRUE(),'DPM'[Region]="EMEA","#0061ff",DPM[Region]="APAC","#184489",'DPM'[Region]="Americas","#99c0ff","#979da8")
Conditional formatting is then applied to Visual 2 so now Americas = Color 1 (#99c0ff), APAC = Color 2 (#184489) and EMEA = Color 3 (#0061ff).
Next I want to also apply the same conditional formatting to Visual 1, except that if no Region is selected, it defaults to Color 4 (#979da8). I can't seem to make this work. By default Visual 2 is display either the First or Last in the "Color" column. Any help would be greatly appreciated!
Thanks,
Steve
Steve
Hi Anonymous ,
To create a measure as below and make the the visual formatted by the filed.
Color = var countr = CALCULATE(COUNT(DPM[Region]),ALLSELECTED(DPM)) var no = IF(countr=3,"#979da8") var re = IF(MAX('DPM'[Region])="EMEA","#0061ff",IF(MAX(DPM[Region])="APAC","#184489",IF(MAX('DPM'[Region])="Americas","#99c0ff"))) return IF(ISFILTERED(DPM[Region]),re,no)Regards,
Frank
3 Replies
- v-frfei-msftCommunity Support
Hi Anonymous ,
To create a measure as below and make the the visual formatted by the filed.
Color = var countr = CALCULATE(COUNT(DPM[Region]),ALLSELECTED(DPM)) var no = IF(countr=3,"#979da8") var re = IF(MAX('DPM'[Region])="EMEA","#0061ff",IF(MAX(DPM[Region])="APAC","#184489",IF(MAX('DPM'[Region])="Americas","#99c0ff"))) return IF(ISFILTERED(DPM[Region]),re,no)Regards,
Frank
- AnonymousNot applicable
Brilliant! Works perfectly. Thanks Frank!
- AnonymousNot applicable
One minor update: I modified your calculated measure slightly to use HASONEVALUE instead of ISFILTERED in the IF statement. That way if the user selects multiple regions, the formatting works as intended.
Thanks again.
Color = var countr = CALCULATE(COUNT(DPM[Region]),ALLSELECTED(DPM)) var no = IF(countr=3,"#979da8") var re = IF(MAX('DPM'[Region])="EMEA","#0061ff",IF(MAX(DPM[Region])="APAC","#184489",IF(MAX('DPM'[Region])="Americas","#99c0ff"))) return IF(HASONEVALUE(DPM[Region]),re,no)