CCC Heat Grid - назначение цветов для отдельных значений - colorMap не работает

У меня есть компонент CCC Heat Grid, где "значение" данных (traffic_light в приведенном ниже примере) всегда равно 1, 2, 3 или пусто - и я хочу закрасить ячейки Heat Map так, чтобы все 1 были зелеными, а все 2 - желтый и все 3s красные. Я не могу использовать массив "colors", доступный в CDE, потому что, если мой набор данных не содержит одно из возможных значений, назначается следующий цвет в массиве, и цвета портятся. Поэтому я думаю, что мне нужно атаковать это с помощью JavaScript.

Я пытался использовать colorMap, который я успешно использовал на гистограммах, но в тепловой сетке он, похоже, ничего не делает - он просто продолжает использовать цветовую схему по умолчанию, меняя цвета в зависимости от того, какие данные в наборе данных.

У меня есть следующий код в Post-Fetch на компоненте Heat Grid:

function f() {
    this.chartDefinition.colorMap = {
        "1": "green",
        "2": "yellow",
        "3": "red"
    };  
}

Пример вывода из набора данных выглядит следующим образом:

competency_name     full_name   expiry_date     traffic_light
Drilling Licence    ACKERLEY    NULL            3
Drivers Licence     ACKERLEY    NULL            3
Heavy Machinery     ACKERLEY    NULL            3
Project Management  ACKERLEY    NULL            3
Drilling Licence    ALBRIGHT    2016-10-05      2
Heavy Machinery     ALBRIGHT    2017-09-05      1
Project Management  ALBRIGHT    NULL            1
Project Management  ANDERSON    NULL            3
Heavy Machinery     ARMSTRONG   NULL            3
Drilling Licence    BAILEY      NULL            3

Другие потенциально важные настройки CDE:

  • crossTabMode = True
  • seriesInRows = False
  • categoryRole = категория
  • seriesRole = category2
  • sizeRole =
  • colorRole = значение
  • colorScaleType = Discrete


Я что-то пропустил? Кажется, есть что-то специфическое для тепловой сетки (или для структуры моих данных), что мне нужно сделать по-другому, но я не могу понять это. Любая помощь приветствуется.

Я использую Pentaho 5.2, работает под управлением версии 16.01.22 CDF, CDA, CDE и CGG

1 ответ

Я не мог понять, как удалить эту тему - если администратор читает это, пожалуйста, продолжайте, если считаете, что это уместно.

В конце я удалил свой компонент Heat Grid и воссоздал его... и проблемы больше не было - стандартная опция массива цветов работает отлично, никакой необходимости в javascript.

Другие вопросы по тегам