【问题标题】:pentaho: Error processing component : how to set parameter for piechart?pentaho:错误处理组件:如何为饼图设置参数?
【发布时间】:2019-11-12 05:14:13
【问题描述】:

我想在 CDE 的仪表板上制作一个动态饼图(取决于日期参数)。 首先,这是我的BD的一个例子:

    ID    date       category
   ----------------------------
    1   2019-01-01    positive
    2   2019-01-01    positive
    3   2019-01-01    negative
    4   2019-01-01     zero
    1   2019-02-01    positive
    2   2019-02-01    zero
    3   2019-02-01    negative

在数据源面板上,我在下面添加了一个查询:

select category, count(category) from table where date=${date} group by category;

然后在组件面板上,我做了:

在数据源面板上,我以相同的方式设置参数:

但是饼图没有显示,错误信息是:错误处理组件 如果我将参数 ${month} 替换为“2019-01-01”之类的值,则饼图确实显示没有问题。

我遵循了多个教程,但无法解决我的问题。

是因为日期格式吗?

这就是我在数据源面板上设置日期参数的方式:我也尝试使用日期而不是字符串...

【问题讨论】:

    标签: pentaho pentaho-cde


    【解决方案1】:

    我的经验是,将 CDE 参数视为字符串,然后在 SQL 查询中将它们转换为日期效果最好,并为您提供最大程度的控制。

    MySQL 示例:

    where STR_TO_DATE(${DATE_FROM}, '%d-%m-%Y') = MyDateColumn
    

    在我的情况下,我需要在仪表板中显示“dd-mm-yyyy”格式,而 CDE 中的国际化相当不完善,所以我使用字符串参数,上面包含 MySQL 日期格式。如果您使用不同的数据库,请在文档中查找日期转换函数。

    【讨论】:

    • 感谢您的快速回答 :) 所以我改为查询“... where date=TO_DATE(${date}, 'YYYY-MM-DD') ...” 因为我' m 使用 postgresql。然而它没有任何区别:(
    • 我其实想知道是否应该在Select Component上设置任何参数,有“Parameter”,“Listeners”,“Parameters”,它们都是空白的。
    • Listeners = 如果更改触发图表刷新的参数。参数 = 将这些传递给数据源(日期应该在其中!)
    • 糟糕,误读了,您说的是选择,而不是图表。在一个选择组件上,只有当一个选择依赖于另一个选择时,您才填充它们,需要刷新。
    • 嘿!我又试了一次,现在可以了。问题确实出在日期格式上,所以我使用了 TO_DATE 函数,而且起初我没有在 Select 组件上设置参数。将其设置为“param_month”后,它工作正常。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多