1

我绞尽脑汁试图找到一种简单的方法来做到这一点,我认为我将不得不求助于编程解决方案(如果这可能的话)。

我正在使用 Cognos BI 8.4 并设置了一个查询来从我的数据库表中检索所有不同的日期。我还有一些用于报告的参数,这些参数使用该查询来填充两个值提示,一个用于开始日期和结束日期。

我需要的是让列表中的第一个日期成为默认日期(对于开始日期参数)或列表中的最后一个日期(对于结束日期参数)。例如,如果表中的日期范围从2011-01-152011-06-03,则开始日期参数应默认为前者,结束日期参数应默认为后者。

我可以将默认值设置为特定的已知值,但由于列表是查询的结果,我事先不知道这些值。如果我使用1970-01-01默认开始日期,它不会将其设置为最早日期,它只是完全忽略该值。

我在参数屏幕上得到的是这样的:

            +-------------+  +-----------+
Date range: | From date |V|  | To date |V|
            +-------------+  +-----------+
            +-------------+  +-----------+
Yellow/red: |       70% |V|  |     90% |V|
            +-------------+  +-----------+

您可以看到黄色和红色阈值填充得很好,因为它们是静态内容(50通过100的步骤5),而不是动态的。因为我知道该下拉列表存在某些值,所以我可以将默认值设置为静态值,例如70or 90

但是,如前所述,动态参数不会以这种方式运行,而是如果我尝试设置的默认值不在填充下拉列表的查询中,则会恢复为“未选择默认值”视图。

如何将默认值设置为特定于查询的值而不是静态值。使用 BIRT,我只是在查询后运行了一些 Javascript 代码,以根据检索到的数据更改 ROM 插槽。Cognos BI 是否有类似的做事方式(如果有,它是什么)?

4

2 回答 2

0

请注意,诸如此类的 Javascript 解决方案存在潜在的跨浏览器问题,并且几乎从不跨 Cognos 版本兼容。

Cognos 在 10.2 中使用Prompt API解决了这个问题。

于 2013-06-24T15:37:02.970 回答