Residual Risk Heatmap

Mira1992
Kilo Sage

Hello community,

does anyone know how to adjust the Residual Risk Heatmap for the Advanced Risk assessment?
It is a part of the Risk Overview - PA Premium dashboard.

The problem is that our heatmap looks like this (4x3):

Mira1992_0-1712077208098.png

But we need to have the heatmap 4x4
Impact: Low, Medium, High, Very High
Likelihood: Unlikely, Possible, Likely, Very likely

Heatmap is fine in the Risk Workspace -> Heatmap workbench (we have a Risk Assessment Methodology created and published) but for some reason it does not work for the Residual Risk Heatmap widget in the Risk Overview - PA Premium dashboard.

The heatmap is a UI Page and it looks like this:

Mira1992_0-1712078257260.png

And when I click on the "Try It" UI action I can't see anything, nothing loads, so it is quite difficult to do an modifications without the possibility to test it.


Would you know where might be the problem? Or at least direct me to somewhere where I can find how this is setup.
Many thanks!

9 REPLIES 9

Brian Lancaster
Tera Sage

I believe a heatmap is a report even if it is on a PA Dashboard. If you go into edit mode on the dashboard and hover over the widget for the heatmap you should see a pencil at the top. This will take you to edit mode on the report. Perhaps for this report on the dashboard the are excluding low risk in the criteria.

Hello Brian,
this heatmap is a UI Page and it looks like this:

Mira1992_0-1712078092204.png

And when I click on the "Try It" UI action I can't see anything, nothing loads, so it is quite difficult to do an modifications without the possibility to test it.

Interesting, Can you provide the entire script in the client section? I have a feeling that is most likely were the issue is. My other thought would be to replace this widget in the PA Dashboard with a true heatmap report.

Thank you Brian

Client script:

(function($){
  var chart;

 

    chart = new Highcharts.Chart({
    chart: {
      renderTo: "residualRiskHighChartContainer",
      type: 'heatmap',
      marginTop: 12,
      marginBottom: 60,
      plotBackgroundColor: 'none',
      events:{
        load:function() {
          var points = this.series[0].data,
          lenY = this.yAxis[0].tickPositions.length - 1,
          lenX = this.xAxis[0].tickPositions.length - 1,
          x = lenX,
          tmpX = 0,
          y = 0,
          j = 0;

          $.each(points, function(i, p){
            var color = p.color;
            p.update({
              color: color
            },false);
          });

          this.isDirty = true;
          this.redraw();
        }
      },
      animation: false
    },
    plotOptions: {
      series: {
        events: {
          click: function (event) {
            g_navigation.open(event.point.url);
          }
        }
      }
    },
    title: {
      align:'center',
      text: '',

      style: {
        color: 'black',
        fontSize: '12pt'
      }
    },

    xAxis: {
      categories: [],
      title: {
        enabled: true,
        text: ''
      }
    },

    yAxis: {
      categories: [],
      title: {
        enabled: true,
        text: ''
      }
    },

    credits: {
      enabled: false
    },

    series: [{
      data: [],
      cursor: 'pointer',
      showInLegend: false,
      type: 'heatmap',
      dataLabels: {
        enabled: true,
        color: 'RGB(var(--now-color_text--primary))',
        backgroundColor: 'none',
        style: {
          textShadow: 'none'
        }
      }

    }]

  });
  try {
    var scratchpad = g_scratchpad;
  } catch (e) {
    scratchpad = '';
  }
  sn_risk_advanced.HeatmapUtils.updateHeatmap(chart, 'residual', true, scratchpad);

  CustomEvent.on('dashboard_filter.removed', function(filterMessage){  
    sn_risk_advanced.HeatmapUtils.onRemoveEvent(chart, filterMessage, 'residual', true);    
  });

  CustomEvent.on('dashboard_filter.added', function(filterMessage){
    sn_risk_advanced.HeatmapUtils.onAddEvent(chart, filterMessage, 'residual', true);
  });

})(jQuery);