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