要传递给 SQL 的 Cognos 静态提示值

Cognos Static prompt values to be passed to SQL

我有一个静态提示,它是一个 select。因为我有两个值,所以我们称之为 A 和 B。因此,当我 select 选项 'A' 时,我的报告会从数据库中提取所有预期的数据。因此,当用户 Select 选项 'B' 时,报告应该只提取代码 = 'M' 的记录。这里的代码是报表中的列名。

注意:对于选项'A',我不需要在报告中设置任何提示,因为它应该默认提取所有记录。

假设您的参数名称是 param 并且数据项被命名为 item.

过滤表达式:

if (?param? = 'A')
then ([item])
else ('M')
 = [item]

注意:您绝对需要使用提示。选择A的结果应该是不过滤。

我想我明白了,试试这个:

  • 使提示成为单个值(即 B),使用值为 'M'
  • 为提示 A 创建 HEADER TEXT(因此它不是实际选择)
  • 使过滤器可选

如果用户选择 A - 提示为 NULL 并且忽略可选过滤器 如果用户选择 B - 过滤器 [Some data item] = ?YourParm?会发生

此外,如果您不想使用 header 文字 您可以创建静态值 A、B 并将可选过滤器修改为如下所示:

  • (?YourParm?<> 'M') 或 ([某些数据项] = ?YourParm?)