Pentaho CDE - 如何从 SQL 查询 JDBC 构建图表

Posted

技术标签:

【中文标题】Pentaho CDE - 如何从 SQL 查询 JDBC 构建图表【英文标题】:Pentaho CDE - how to build a chart from an SQL query JDBC 【发布时间】:2019-02-24 22:04:47 【问题描述】:

我正在尝试理解 Pentaho CDE 的逻辑

我的目标是从 PostgreSQL 物化视图中获得一个条形图(3 列:geo_name、cat_name、cat_value)(我暂时不需要通过 OLAP 多维数据集)

所以一开始我在布局面板上定义了一行包含一列(名称:col1)

我通过这样的数据源面板连接到我的数据源:

查询:select * from my_schema.my_materialized_view;

然后在“组件”面板中,我通过正确填写数据源和 html 对象来创建“CCC 条形图”,但我不明白在哪里可以定义 X、Y 和值列(如 Pentaho 报表设计器)? Listeners 属性没有提供任何东西。

在预览中我得到一个“错误处理组件”,我如何知道我的数据源是否已连接?

谢谢!

编辑解决方案

最后是驱动问题,我们必须检查驱动 JDBC PostgreSQL 是否存在于此处:.../tomcat/webapps/pentaho/WEB-INF/lib(在我的情况下是驱动 postgresql- 9.3-1102-jdbc4 。罐) 然后在 Pentaho CDE 上,在 sql over sqljdbc 数据源中,我将“postgresql-9.3-1102-jdbc4.jar”放在 Driver 属性中,它就可以工作了!

然后你必须根据图表的类型来玩查询,实际上不要 SELECT * FROM table

【问题讨论】:

您的查询应该是 select a,b from tablename 而不是 select * from tablename.. 它将采用您在 X 轴上指定的第一列,并且它不能是字符串。 【参考方案1】:

默认情况下,CCC 图表在 x 轴上取第一列,在 y 轴上取第二列。现在,如果您选择交叉表属性,这可能会有所不同。如果您想根据需要更改轴,则可以通过设置属性在 ccc 图表的执行后事件中选择执行。

现在对于数据源连接,您可以通过检查仪表板页面进行调试,在网络中您将看到 cda 查询。如果它出错,那么您也可以在控制台选项卡中检查它。

另一个选项是检查 server/tomcat/logs 目录,您可以验证 pentaho.log 和 catlina.log 以获取有关服务器行为的更多信息。

【讨论】:

以上是关于Pentaho CDE - 如何从 SQL 查询 JDBC 构建图表的主要内容,如果未能解决你的问题,请参考以下文章

Pentaho CDE URL 变量到 SQL

带数字参数的 Pentaho CDE SQL 查询

Pentaho CDE 图表

Pentaho CDE 如何从选择的组件中显示参数值

SQL case 语句不适用于多参数 pentaho cde

如何在CDE Pentaho中执行动态标题列?