Heatmap Functionality - Domo Disappointment :(

Data_Devon
Data_Devon Contributor

Hi team,

This might be the first time that Domo couldn't do something that I was after.

I need a Pivot Table that has heatmap color formatting, and I need each row to be formatted independently of other rows.

I can't find anything - hoping you guys have an idea.

Here's my Pivot Table: I want each row to be colored independently of other rows, but maintain the pivot structure.

image.png

✅Did this solve your problem? Accept it as a solution!

❤️Did you love this answer? Mark it as "Awesome"!

👍Do you agree with this process? Click "Agree"!

Answers

  • I don't think you apply heatmap color formatting on row-level independent heatmaps (per row). By default, heatmap or conditional formatting in pivot tables would be applied across the entire column. :(

    You could try something using a Magic ETL and calculate row min/max or percentage. Then compute a color scale per cell based on each row's value.

    CONCAT('<div style="background-color:rgba(255,0,0,', `Heat Intensity`, ');">', `Value`, '</div>')

    Or do it in a brick, but that's much more work.

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

  • Data_Devon
    Data_Devon Contributor

    @ArborRose Thanks for the thoughts, but it appears my suspicions are correct and there is no easy/default functionality.

    Help me understand how the MagicETL calculation would work, and how it would accomplish my goal?

    ✅Did this solve your problem? Accept it as a solution!

    ❤️Did you love this answer? Mark it as "Awesome"!

    👍Do you agree with this process? Click "Agree"!

  • No, I don't think there's any easy default functionality. Maybe someone knows something I don't and can add to the discussion?

    Obviously I haven't tried for this specifically. But I have done this in a brick using the same concept. Using Magic ETL with an HTML table card, you could try to create a row based heatmap effect using HTML and a custom table.

    Setup the data in Magic ETL. Calculate the row min/max or percentiles. And create formula based color scale or intensity for per cell values.

    Using a formula similar to the one I posted, setup a DIV in the html that sets the cell's background color to the value of your intensity. In that formula rgba(r, g, b, a) stands for red, green, blue, and alpha. The alpha is a transparency or opacity channel that ranges from 0 (transparent) to 1 (opaque).

    Suppose you have a value in a row and want to shade it relative to the row's max value.

    rgba(255, 0, 0, 1) → fully opaque red

    rgba(255, 0, 0, 0.5) → semi-transparent red

    rgba(255, 0, 0, 0.1) → very faint red

    Normalize each cell from 0 to 1 with something like (value - row_min) / (row_max - row-min).

    When I did a custom heat map, I defined colors and associated them with percentage ranges. Using something like greens, yellows, and red. I setup some kind of case statement that if percentage was in X range it would be colored a specified way. The complication you have is the pivot.

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **