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.