0

我有一个 CCC Heat Grid 组件,其中数据“值”(下例中的traffic_light)始终为 1、2、3 或 null - 我想为热图单元格着色,以便所有 1 为绿色,所有 2 为黄色和所有 3 都是红色的。我不能使用 CDE 中可用的“颜色”数组,因为如果我的数据集不包含其中一个可能的值,则会分配数组中的下一个颜色,并且颜色会变得混乱。所以我想我需要用javascript来攻击它。

我尝试使用已在条形图上成功使用的 colorMap,但在 Heat Grid 中它似乎根本没有做任何事情 - 它只是继续使用默认配色方案,根据数据更改颜色在数据集中。

我在 Heat Grid 组件的 Post-Fetch 中有以下代码:

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 = 真
  • seriesInRows = 假
  • 类别角色 = 类别
  • 系列角色 = 类别 2
  • 大小角色 =
  • 颜色角色 = 值
  • colorScaleType = 离散


我错过了什么吗?似乎有一些特定于热网格(或我的数据结构)的东西,我需要做不同的事情,但我无法弄清楚。任何帮助表示赞赏。

我正在使用 Pentaho 5.2,运行 CDF、CDA、CDE 和 CGG 的 16.01.22 版

4

1 回答 1

0

我不知道如何删除此线程 - 如果管理员阅读此内容,如果您认为合适,请继续。

最后,我删除了我的 Heat Grid 组件并重新创建了它......问题不再存在 - 标准颜色数组选项工作正常,不需要任何 javascript。

于 2016-09-15T08:45:44.133 回答