Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
In tableau , this visual uses a legend for colouring.
In power BI , the closest I could get to is this.
Can I somehow recreate colours in Data Bar conditional formatting so that it matches the tableau visual.
Solved! Go to Solution.
Hi @Agent47 ,
As danextian said, you need to check a measure first:
Again, you can continue to define the conditional format under each country, and here I've assigned three colors to [Total Profit] equals Maximum Minimum as well as Middle under Canada.
VAR RectColor =
SWITCH (
SELECTEDVALUE ( 'financials'[Country] ),
"Canada",
VAR __vals =
CALCULATETABLE (
ADDCOLUMNS (
SUMMARIZE ( 'financials', 'financials'[Country], 'financials'[Product] ),
"@TotalProfit", [Total Profit]
),
ALLSELECTED ( 'financials'[Product] )
)
VAR __minvalue =
MINX ( __vals, [@TotalProfit] )
VAR __maxvalue =
MAXX ( __vals, [@TotalProfit] )
VAR __color =
SWITCH (
TRUE (),
[Total Profit] = __maxvalue, "#06B050",
[Total Profit] = __minvalue, "#D41F26",
"#3b3a39"
)
RETURN
__color,
"France", "Red",
"Germany", "Yellow"
)
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
Hi @Agent47 ,
Try using SVG + DAX:
SVG_Total_Profit =
VAR MinValue =
MIN ( MINX ( ALLSELECTED ( 'financials'[Country],'financials'[Product] ), [Total Profit] ), 0 )
VAR MaxValue =
MAX ( MAXX ( ALLSELECTED ( 'financials'[Country], 'financials'[Product] ), [Total Profit] ), 0 )
VAR Gap_Value = MaxValue - MinValue
VAR X = 720 * [Total Profit] / Gap_Value
VAR TextValue = FORMAT([Total Profit], "#,##0.00")
VAR RectColor = SWITCH(SELECTEDVALUE('financials'[Country]), "Canada", "Green", "France", "Red", "Germany", "Yellow")
VAR StartX =
IF([Total Profit] >= 0, 0, 720 + X)
VAR Height = 150
VAR FontSize = 100
VAR TextXOffset = 10
VAR FontFamily = "Arial"
RETURN
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='720' height='" & Height & "'>
<rect x='" & StartX & "' y='0' width='" & ABS(X) & "' height='" & Height & "' fill='" & RectColor & "'/>
<text x='" & StartX + TextXOffset & "' y='50%' font-size='" & FontSize & "' text-anchor='start' dominant-baseline='central' fill='black' font-family='" & FontFamily & "'>" & TextValue & "</text>
</svg>"
Remember to categorize it as an image URL.
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
Hi @Anonymous , what if I need just like 3 different colours for Canada , France , Germany ? No min , max , nothing . Also will I write it as a measure ? And I could not find the measure tools option in my power bi Version: 2.137.751.0 64-bit (October, 2024)
Hi @Agent47 ,
As danextian said, you need to check a measure first:
Again, you can continue to define the conditional format under each country, and here I've assigned three colors to [Total Profit] equals Maximum Minimum as well as Middle under Canada.
VAR RectColor =
SWITCH (
SELECTEDVALUE ( 'financials'[Country] ),
"Canada",
VAR __vals =
CALCULATETABLE (
ADDCOLUMNS (
SUMMARIZE ( 'financials', 'financials'[Country], 'financials'[Product] ),
"@TotalProfit", [Total Profit]
),
ALLSELECTED ( 'financials'[Product] )
)
VAR __minvalue =
MINX ( __vals, [@TotalProfit] )
VAR __maxvalue =
MAXX ( __vals, [@TotalProfit] )
VAR __color =
SWITCH (
TRUE (),
[Total Profit] = __maxvalue, "#06B050",
[Total Profit] = __minvalue, "#D41F26",
"#3b3a39"
)
RETURN
__color,
"France", "Red",
"Germany", "Yellow"
)
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
Measure tools is a contextual tab which appears when a measure is selected from the field pane. You will need to specify the min max/values to calculate the length of the bar. Unlike with the native databar option, this needs to be calculated when using SVG images. Also take note that exporting the data from the matrix will export the SVG markups and not the actual values.
Hi @Agent47
For databars, we are stuck at selecting one color for negative and another one for positive values. There is also no option to select another measure.
Hi @Agent47
Unfortunetly No. There is very limited option available under fx of bar conditional formatting.
As you can see you can just set to min to max color for gradient effect. not based on row header values.
But you can try below videos
https://www.youtube.com/watch?v=DmLozWHekMA
I hope I answered your question!
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 38 | |
| 37 | |
| 34 | |
| 31 | |
| 27 |
| User | Count |
|---|---|
| 136 | |
| 99 | |
| 73 | |
| 66 | |
| 65 |