我正在开发一个Pentaho CDE项目,我希望显示一个图表,该图表取决于几个参数(如月,年,精确日期,国家等)。但是,当我想在我的查询中“添加”另一个参数时,它不再起作用......所以我确定我做错了但是什么?请查看参数月份,例如:
SELECT
"All" AS MONTH(TransactionDate)
UNION
SELECT DISTINCT MONTH(TransactionDate) FROM order ORDER BY MONTH(TransactionDate);
SELECT pginit.Family, SUM(order.AmountEUR) AS SALES
FROM pginit INNER JOIN statg ON pginit.PG = statg.PGInit INNER JOIN order ON statg.StatGroup = order.StatGroup
WHERE (MONTH(order.TransactionDate) IN (${month}) OR "All" IN (${month}) OR ${month} IS NULL) AND
/*/* Apply the same pattern for another parameter (like year for example) *\*\
GROUP BY pginit.Family
ORDER BY SALES;
(此处,$ {month}是CDE中的参数)
关于如何做的任何想法? 我在那里读到了一些据说使用CASE条款的东西......但是怎么样? http://forums.pentaho.com/showthread.php?136969-Parametrized-SQL-clause-in-CDE&highlight=dynamic
感谢您的帮助!
答案 0 :(得分:0)
尝试简化该查询,直到它运行并返回一些内容并从那里开始工作。
以下是我可能会考虑的一些事情:
${parameter}
个表达式附加单引号; "All"
应该是'All'
(单引号而不是双引号);