我绞尽脑汁试图找到一种简单的方法来做到这一点,我认为我将不得不求助于编程解决方案(如果这可能的话)。
我正在使用 Cognos BI 8.4 并设置了一个查询来从我的数据库表中检索所有不同的日期。我还有一些用于报告的参数,这些参数使用该查询来填充两个值提示,一个用于开始日期和结束日期。
我需要的是让列表中的第一个日期成为默认日期(对于开始日期参数)或列表中的最后一个日期(对于结束日期参数)。例如,如果表中的日期范围从2011-01-15
到2011-06-03
,则开始日期参数应默认为前者,结束日期参数应默认为后者。
我可以将默认值设置为特定的已知值,但由于列表是查询的结果,我事先不知道这些值。如果我使用1970-01-01
默认开始日期,它不会将其设置为最早日期,它只是完全忽略该值。
我在参数屏幕上得到的是这样的:
+-------------+ +-----------+
Date range: | From date |V| | To date |V|
+-------------+ +-----------+
+-------------+ +-----------+
Yellow/red: | 70% |V| | 90% |V|
+-------------+ +-----------+
您可以看到黄色和红色阈值填充得很好,因为它们是静态内容(50
通过100
的步骤5
),而不是动态的。因为我知道该下拉列表存在某些值,所以我可以将默认值设置为静态值,例如70
or 90
。
但是,如前所述,动态参数不会以这种方式运行,而是如果我尝试设置的默认值不在填充下拉列表的查询中,则会恢复为“未选择默认值”视图。
如何将默认值设置为特定于查询的值而不是静态值。使用 BIRT,我只是在查询后运行了一些 Javascript 代码,以根据检索到的数据更改 ROM 插槽。Cognos BI 是否有类似的做事方式(如果有,它是什么)?