Forum Discussion
conditional formatting
- 1 year ago
I can see that your data is in long format and you have three columns Product, Zone and Amount. And you used Matrix visual.
Now you can directly create a new calculated column because calculated columns evaluate row by row . In your case, the calculated column can evaluate the Zone and Amount values for each row directly.
You can use the below DAX for new columnZoneColor =SWITCH(TRUE(),'Table'[Zone] = "Central" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 4000, "#FF0000", // Red for Central, 1 - 4000'Table'[Zone] = "Central" && 'Table'[Amount] > 4000 && 'Table'[Amount] <= 10000, "#008000", // Green for Central, 4000 - 10000'Table'[Zone] = "East" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 500, "#FF0000", // Red for East, 1 - 500'Table'[Zone] = "East" && 'Table'[Amount] > 500, "#008000", // Green for East, > 500'Table'[Zone] = "North" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 10000, "#FF0000", // Red for North, 1 - 10000'Table'[Zone] = "North" && 'Table'[Amount] > 10000, "#008000", // Green for North, > 10000'Table'[Zone] = "South" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 5000, "#FF0000", // Red for South, 1 - 5000'Table'[Zone] = "South" && 'Table'[Amount] > 5000, "#008000", // Green for South, > 5000'Table'[Zone] = "West" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 20000, "#FF0000", // Red for West, 1 - 20000'Table'[Zone] = "West" && 'Table'[Amount] > 20000, "#008000", // Green for West, > 20000"#FFFFFF" // Default color (white) if no condition is met)
To create a new column click on three dots of the table in the Data pane. You can customize colors as you wish in the DAX query.
Then apply conditional formatting for Amount under the Values dropdown in the visualizations pane.
Choose Field value and newly created column in conditional formatting as shown below.
Then the result looks like this
Please mark this as solution and give kudos if it met your goal.
Thanks,
Vinay.
Hi, dhrupal_shah
To achieve conditional formatting for your table you need to create separate measures for each color such as,
Here is a screenshot for reference.
After applying conditional formatting for each column the result looks like below image
If you find my solution helpful please give a kudos.
Thanks,
Vinay.
  
Thanks vinay, your reply near to my solution , please help me to solve it. please refer my
below data and screen shots.
| Product | Zone | Amount |
| Prod1 | Central | 5000 |
| Prod2 | Central | 2000 |
| Prod3 | Central | 6000 |
| Prod4 | Central | 5000 |
| Prod5 | Central | 4000 |
| Prod1 | East | 500 |
| Prod2 | East | 200 |
| Prod3 | East | 1000 |
| Prod4 | East | 300 |
| Prod5 | East | 200 |
| Prod1 | North | 15000 |
| Prod2 | North | 10000 |
| Prod3 | North | 4000 |
| Prod4 | North | 20000 |
| Prod5 | North | 5000 |
| Prod1 | South | 8000 |
| Prod2 | South | 9000 |
| Prod3 | South | 7000 |
| Prod4 | South | 8000 |
| Prod5 | South | 8000 |
| Prod1 | West | 25000 |
| Prod2 | West | 10000 |
| Prod3 | West | 25000 |
| Prod4 | West | 20000 |
| Prod5 | West | 20000 |
- Vinay_eshwara1 year agoFrequent Visitor
I can see that your data is in long format and you have three columns Product, Zone and Amount. And you used Matrix visual.
Now you can directly create a new calculated column because calculated columns evaluate row by row . In your case, the calculated column can evaluate the Zone and Amount values for each row directly.
You can use the below DAX for new columnZoneColor =SWITCH(TRUE(),'Table'[Zone] = "Central" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 4000, "#FF0000", // Red for Central, 1 - 4000'Table'[Zone] = "Central" && 'Table'[Amount] > 4000 && 'Table'[Amount] <= 10000, "#008000", // Green for Central, 4000 - 10000'Table'[Zone] = "East" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 500, "#FF0000", // Red for East, 1 - 500'Table'[Zone] = "East" && 'Table'[Amount] > 500, "#008000", // Green for East, > 500'Table'[Zone] = "North" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 10000, "#FF0000", // Red for North, 1 - 10000'Table'[Zone] = "North" && 'Table'[Amount] > 10000, "#008000", // Green for North, > 10000'Table'[Zone] = "South" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 5000, "#FF0000", // Red for South, 1 - 5000'Table'[Zone] = "South" && 'Table'[Amount] > 5000, "#008000", // Green for South, > 5000'Table'[Zone] = "West" && 'Table'[Amount] >= 1 && 'Table'[Amount] <= 20000, "#FF0000", // Red for West, 1 - 20000'Table'[Zone] = "West" && 'Table'[Amount] > 20000, "#008000", // Green for West, > 20000"#FFFFFF" // Default color (white) if no condition is met)
To create a new column click on three dots of the table in the Data pane. You can customize colors as you wish in the DAX query.
Then apply conditional formatting for Amount under the Values dropdown in the visualizations pane.
Choose Field value and newly created column in conditional formatting as shown below.
Then the result looks like this
Please mark this as solution and give kudos if it met your goal.
Thanks,
Vinay.- dhrupal_shah1 year agoHelper I
thanks vinay , i get solution as provided by you.
- dhrupal_shah1 year agoHelper I
Dear vinay,
same condition with date not work.
Production_Color =
SWITCH(
TRUE(),
TRIM('Production'[ComponentName]) = "CTL 1" && 'Production'[QtyRecv] > 50 , "#008000", // Green
TRIM('Production'[ComponentName]) = "CTL 1" && 'Production'[QtyRecv] >=35 && 'Production'[QtyRecv] <= 50, "#000a00", // Black
TRIM('Production'[ComponentName]) = "CTL 1" && 'Production'[QtyRecv] > 0 && 'Production'[QtyRecv] < 35, "#FF0000" //Red
)thanks in advance.
Dhrupal
this data from sql query.