如何在 Pentaho Report Designer 中使用多个查询?

How to use more than one query in Pentaho Report Designer?

我正在尝试在 Pentaho Report Designer 中添加两个查询,这样我就可以从多个查询中获取结果 table。

这是我的案例:

查询 1:

SELECT
     `raw_crawl_shop_list`.`sales`,
     `raw_crawl_shop_list`.`keyword`,
     `raw_crawl_shop_list`.`number`
FROM
     `raw_crawl_shop_list`
LIMIT 1

查询 2:

SELECT
     `dim_keyword_tag`.`keyword`,
     `dim_keyword_tag`.`tag`
FROM
     `dim_keyword_tag`

我的问题:

我想分别使用从两个table中选择的五个列(这意味着这些列之间没有关系,我只是单独使用它们),但是,在Pentaho Report Designer中。我只能使用从一个查询中选择的列。

如下图所示:

如果我选择查询 1,列 2 选择的列消失,如果我选择查询 2 与查询 1 相同。

我的问题:

我如何在一个报表中使用 Pentaho Report Designer 中的两个查询 有没有办法将这两个 sql 查询合并为一个查询第一列的三列和第二列的两列?

谢谢大家!

如果两个表都在同一个数据库中,只需将它们连接到一个查询中

SELECT
     `raw_crawl_shop_list`.`sales`,
     `raw_crawl_shop_list`.`keyword`,
     `raw_crawl_shop_list`.`number`,
     `dim_keyword_tag`.`tag`
FROM
     `raw_crawl_shop_list` JOIN `dim_keyword_tag` ON `raw_crawl_shop_list`.`keyword` = `dim_keyword_tag`.`keyword`

PRD 中有两种读取两个查询的可能方式。

  1. 正在创建一个 SUB-REPORT 然后定义第二个查询。查看此 wiki 了解更多信息。

  2. JOINING 单个查询中的两个表,正如 Kotukunui 所说的那样。

这是从多个查询中获取值的另一种方法。

添加标签,并编辑 "value" 属性表达式。根据您的要求设置以下任一公式。在 "value" 属性值中键入您的查询名称。

这样你就可以直接引用你在JDBC连接中写的查询了。

=MULTIVALUEQUERY("yourqueryname")
=SINGLEVALUEQUERY("yourqueryname")

否则您可以在采用以下输入参数的表达式中编写查询,

SINGLEVALUEQUERY()
SINGLEVALUEQUERY([query:string]; [column:string])
SINGLEVALUEQUERY([query:string]; [column:string]; [querytimeout:integer])

MULTIVALUEQUERY([query:string])
MULTIVALUEQUERY([query:string]; [column:string])
MULTIVALUEQUERY([query:string]; [column:string]; [querytimeout:integer])
MULTIVALUEQUERY([query:string]; [column:string]; [querytimeout:integer][limit:integer] )

This会让你更好的理解它。