gpt4 book ai didi

Pentaho CE 仪表板中的 MySQL 查询参数

转载 作者:行者123 更新时间:2023-11-30 21:43:43 25 4
gpt4 key购买 nike

首先,我在使用 Pentaho CE 8.0。而且我不是 Pentaho 方面的专家。

这个问题看起来很简单,但我做不到。我正在尝试让仪表板为 MySQL 查询 中的 WHERE 条件使用一个简单的参数。 Bootstrap 布局有 3 列,每个组件(过滤器、文本、表格)一列。

简单参数:

- Name: salesrep_selection  
- Property value: mike

过滤组件(选择销售代表):

- Name: salesrep_selection_filter  
- Parameter: salesrep_selection
- Values Array: [["mike","Mike"],["paul","Paul"],["peter","Peter"]]
- Value as Id: false

文本组件:(只是为了检查参数设置):

- Name: selection_show_text  
- Listeners: ["salesrep_selection"]
- Expression: function() {return this.dashboard.getParameterValue("salesrep_selection");}

表格组件(按销售代表列出的客户):

- Name: customers_list_table  
- Listeners: ["salesrep_selection"]
- Datasource: customers_list_data

数据源(MySQL查询):

- Name: companies_list_data  
- Jndi: business_datawarehouse
- Query: SELECT customerid,customername FROM customers WHERE salesrep=${salesrep_selection}
- Parameters: [] (empty)

当我启动仪表板时,我会得到包含销售代表姓名的选择列表。当我选择一个时,id 显示在文本组件中,但表格仍然是空的“表格中没有可用数据”。

如果我硬编码条件 "WHERE salesrep='mike'",我会得到客户列表。

使用参数"WHERE salesrep=${salesrep_selection}",MySQL 查询日志显示它得到"WHERE salesrep=null"。所以参数没有发送到查询。

我还尝试使用 [["salesrep_selection","salesrep_selection"]], 设置数据源参数,但表仍然为空“表中没有可用数据”,MySQL 查询日志显示 "WHERE salesrep='salesrep_selection'".

我在互联网上搜索了很多,没有很多关于这个的文章,但无论如何,我发现的正是我实现的。我仍然没有得到任何工作。

Pentaho CE 8.0 中的参数处理方式不同吗?查询参数也是?

最佳答案

您需要将参数从组件传递到数据源。

  1. 将名为 salesrep_selection 且值为 salesrep_selection 的参数添加到表组件的属性 Parameters。这将在组件中设置参数并将其值传递给数据源。
  2. 在数据源的属性 Parameters 中添加相同的参数。这将在数​​据源中设置参数并将其值传递给查询。

表格组件(按销售代表列出的客户):

- Name: customers_list_table  
- Listeners: ["salesrep_selection"]
- Datasource: customers_list_data
- Parameters: [["salesrep_selection", "salesrep_selection"]]

数据源(MySQL查询):

- Name: companies_list_data  
- Jndi: business_datawarehouse
- Query: SELECT customerid,customername FROM customers WHERE salesrep=${salesrep_selection}
- Parameters: [["salesrep_selection", "salesrep_selection"]]

关于Pentaho CE 仪表板中的 MySQL 查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50442460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com