对于学生项目,我们正在与Pentaho CDE合作创建仪表板。 起初它工作正常,但现在我们正在悬挂添加多个选择组件的点。 我们将选择组件的参数插入到Where语句中的SQL-Queries中,但现在我们遇到了问题,即不能选择一个选择组件中的所有元素而只选择其中一个元素。样本空间越来越小,我们添加的参数越多,因为我们无法找到如何在一个选择组件中选择所有选项并将其全部发送到查询。 在CDE中是否可以向选择组件添加“选择所有元素选项”?或者甚至停用选择组件并将此停用发送到SQL查询?
我们注意到有一个多选组件,但我们无法处理它所需的自定义参数。 如果它适用于选择组件,那就没问题了。
提前感谢您的支持。
答案 0 :(得分:1)
使用SQL表达式CASE:
SELECT * FROM表WHERE 城市LIKE($ {city} ='ALL'然后'%'ELSE $ {city}结束时的情况)
答案 1 :(得分:0)
两种方法:
在您的单个选择查询中添加(可能是硬编码)"全部"选项并让一些JS逻辑学习如何处理它;
使用多选组件。但是,请记住,多选组件上的参数值在javascript中存储为数组,而参数值将作为逗号分隔列表传递给查询。因此,如果要在SQL查询中使用多选参数,则很可能在IN条件中使用它。
最后,检查您的pentaho.log文件。错误和异常将记录在那里。
答案 2 :(得分:0)
如果你不想使用像。
SELECT * from table_name where column_name = case when ${param} = 'ALL' then column_name else ${param} end