问题描述
在 OBIEE12c 中,我有多个报告,其中用户输入的是 2 个日期,即起始日期和截止日期。
对于所有这些报告,要求是点击'应用'按钮,一个普通的js应该被调用
我用单行解释的最终要求是 show an alert (after date comparison) to the user for couple of reports on click of Apply in OBIEE 12c
我们已经在 OBIEE10g 中实现了上述要求,但是迁移/升级到 12c 后同样不起作用(10g 到 11g 和 11g 到 12c 两步过程
解决方法
我会使用标准的 BI 功能而不是调用 javascript。
如果要求确保报告的运行时间不超过 90 天,我将只使用标准仪表板提示开始和结束日期,然后在我的分析中添加一个带有表达式的过滤器
case when TimestampDiff(SQL_TSI_DAY,"Table"."Start Date","Table"."End Date" > 90 then 0 else 1 end
并使其等于 1。这将确保报告不返回数据。
然后我会使用相同的过滤器创建一个分析,而不仅仅是返回一行。然后可以将此分析用作部分的条件。您可以将一些静态文本放在一个部分中,该部分仅在条件不返回任何行时才显示,告诉用户他们的选择需要少于 90 天。您可以根据包含它的部分的逆条件选择是否显示分析。