需要根据cognos报告中的输入值显示列

时间:2014-05-21 17:20:25

标签: cognos

我有要求。我需要在提示页面中创建一个文本框提示。在该提示中,用户可以输入分行号或仓库号。根据这些输入值,我需要在列表报告中显示分支编号和仓库编号。 例如:如果用户输入分支编号,我需要在列表中仅显示分支编号。如果用户输入仓库编号,我需要在列表中显示仓库编号。

2 个答案:

答案 0 :(得分:1)

  1. 两个可选提示,每个提示都与查询中的相应数据项相关联
  2. 查询的每个数据项中的宏提示,如果相应参数为空则放入虚拟值
  3. 在报告中创建包含列和度量的列表
  4. 两个变量,每个参数一个,每个变量都与列表列上的条件渲染相关联
  5. I wrote up a similar technique on my blog。这将根据在其提示符上输入的值的任何数据项自动对报表求和。它使用所有内置的Cognos功能。您需要稍微调整以确保用户输入至少一个值 - 可以快速破解JS。

答案 1 :(得分:1)

如果分行编号和仓库编号不重叠,则可以执行以下操作:

  1. 将分行编号和仓库编号列添加到查询
  2. 创建一个新数据项并将以下内容作为表达式:

    CASE
    什么时候?whse_branch_no? 0到10之间[分行号]
    ELSE [仓库号]
    END

  3. 将新数据项添加到报告中

  4. 如果您正在对输入进行过滤,则可以使用类似的逻辑:

    IF(?whse_branch_no?BETWEEN 0和10)
    然后([分行号] =?whse_branch_no?)
    ELSE([仓库号] =?whse_branch_no?)

  5. 显然,您使用自己的参数,数据项名称和数值范围,但概念是相同的。

    如果数字重叠,那就更难了。

    您可以添加一个双选项单选按钮,允许用户选择文本框输入的上下文,并选择分支编号和仓库编号。然后,您只需调整上面给出的逻辑,即可使用单选按钮传入的值来选择所需的数据项。