【问题标题】:parameters on query and their necessary components查询参数及其必要组件
【发布时间】:2018-05-28 16:38:51
【问题描述】:

我太新手了,在办公室里一个人使用 Pentaho CDE 工具,几天前我开始设计我的“简单”仪表板……我有一个 sql 查询,我需要使用参数来输入日期:

select uc_descr, semana, count(*) n_anotaciones
from base_table
where semana >= to_date(${IntroduceFecha}, 'dd/mm/yyyy')
group by uc_descr, semana
order by semana ,uc_descr

它使用固定值 ('31-01-2018') 而不是 ${IntroduceFecha} 并返回一个包含正确行的表,但我无法使其与参数一起使用。我在组件面板上使用了 3 个对象:

  • 显示行内容的表格组件
  • 日期参数,定义参数
  • 日期输入组件,接收用户的日期定义

布局运行良好……我也认为是数据源。

请给任何人一个关于我做错了什么的提示或建议...我尝试使用简单参数而不是日期参数,并使用文本输入而不是日期输入(当然,修改查询)。但我没有找到解决方案。

【问题讨论】:

  • 我不知道 pentaho,但我的猜测是您正在使用 select 语句构造一个字符串并将其传递给执行。如果是这种情况,您可以让您的程序在字符串构造过程中部署正确的日期。第二种解决方案是使用参数传递,但它会复杂得多。
  • 感谢 FDavidov!正如您评论的那样,主要问题是管理 SQL 查询和 Pentaho 组件之间的日期及其格式。

标签: sql pentaho pentaho-cde


【解决方案1】:

这个问题和答案可以帮助您在Table Component 中设置参数并将它们传递给SQL Datasource

您的Date input component 应设置date parameterTable Component 应该在该参数上设置监听器 a 应该在参数中设置它。 SQL Datasource 应该设置与Table Component 相同的参数。并且可以在查询中使用。

【讨论】:

  • 非常感谢 mzy,我上周检查了与您所指相同的帖子,但我无法完全理解。最后我自己解决了,但现在,我会用你的专家提示来试试。我使用了一个简单的参数(而不是日期参数)和文本输入组件(而不是日期输入组件)。正如您所说,只是要清楚掌握参数,参数和侦听器3个概念...第一个;接收变量,第二个; values 必须完成对组件的操作,最后一个;当参数更改时更新组件。
猜你喜欢
  • 1970-01-01
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多