Forum Discussion

BlueWhite3699's avatar
BlueWhite3699
Helper III
1 year ago
Solved

TRICKY - Data Bars Power BI Matrix Table

Hi Experts

 

is the following possible as a data bars as conditinal formatting in a matrix table in Power BI

 

If you look at the percentage column where we have 100% full green as shown in the progress column, where we have 82% (less then 100%) - i want the progress bar to be 82% (green) and 18% Red. and so on

 

See sample File

https://www.dropbox.com/scl/fi/4tfmyx6d8zomu10mubi73/Progress.pbix?rlkey=wprhkfxtxmev9n4a339q9gz5f&st=cdxofjdv&dl=0 

  • Hi BlueWhite3699,

    Power BI does not natively support split-color progress bars (like green for completed and red for remaining) using data bars in conditional formatting inside matrix visuals.

    The built-in data bar conditional formatting in matrix tables only supports:

    • Single-color bars

    • Bar length based on value, but not multiple segments

    • No logic for dual-color thresholds (e.g., green/red splits)

    However I have workaround, you can try this measure.

    ProgressBar = 
    VAR pct = SUM('Status'[Percentage])
    RETURN
    REPT("█", ROUND(pct * 10, 0)) & REPT("░", 10 - ROUND(pct * 10, 0))

    Thanks,
    If you found this solution helpful, please consider giving it a Like👍 and marking it as Accepted Solution✔. This helps improve visibility for others who may be encountering/facing same questions/issues.

     

5 Replies

  • Hi BlueWhite3699,

    Power BI does not natively support split-color progress bars (like green for completed and red for remaining) using data bars in conditional formatting inside matrix visuals.

    The built-in data bar conditional formatting in matrix tables only supports:

    • Single-color bars

    • Bar length based on value, but not multiple segments

    • No logic for dual-color thresholds (e.g., green/red splits)

    However I have workaround, you can try this measure.

    ProgressBar = 
    VAR pct = SUM('Status'[Percentage])
    RETURN
    REPT("█", ROUND(pct * 10, 0)) & REPT("░", 10 - ROUND(pct * 10, 0))

    Thanks,
    If you found this solution helpful, please consider giving it a Like👍 and marking it as Accepted Solution✔. This helps improve visibility for others who may be encountering/facing same questions/issues.

     

  • You can't do it with database.
    But you can do it with background colurs

     

    RAG = 
    var mypercent = MAX('Status'[Percentage])
    
    RETURN
    SWITCH( TRUE(),
    mypercent = 1, "Green",
    mypercent >= 0.82, "Yellow",
    "Red"
    )

     

    Please click thumbs up because I tried to help.
    Then click [accept solution] if it fixed your problem.
    Thank you !

     

  • Hi Champ - its the progress column we need to change not the Percentage column