我正在尝试在Pentaho报表设计器中添加两个查询,以便我可以从多个表中获取查询结果。
以下是我的案例:
查询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`
我的问题:
我想分别使用从两个表中选择的五列(这意味着这些列之间没有任何关系,我只是单独使用它们),但是,在Pentaho Report Designer中。我只能使用从一个查询中选择的列。
如下图所示:
如果我选择查询1,列2选择的列将消失,如果我选择查询2与查询1相同。
我的问题:
我如何在单个报告中使用Pentaho报告设计器中的两个查询 OR 有没有办法将这两个sql查询合并为一个来自第一列和第二列的三列从第二个?
谢谢大家!
答案 0 :(得分:4)
在PRD中有两种可能的方法来读取两个查询。
创建 SUB-REPORT ,然后定义第二个查询。请查看此wiki了解更多信息。
加入单个查询中的两个表,正如Kotukunui所说的那样。
答案 1 :(得分:0)
如果两个表都在同一个数据库中,只需将它们加入一个查询
即可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`
答案 2 :(得分:0)
这是从多个查询中获取值的另一种方法。
添加标签,然后编辑“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会让您更好地了解它。