【问题标题】:COGNOS Report: COUNT IFCOGNOS 报告:计数 IF
【发布时间】:2019-09-06 16:05:26
【问题描述】:

我不确定如何创建自定义字段来计算给定条件的实例。


我有一个字段ID,它以两种格式存在:

  1. A#####
  2. B#####

我想创建两列(一列用于A,另一列用于B)并按月计算实例。像COUNTIF ID STARTS WITH A 这样的第一列导致如下所示。现在我只能创建一个包含总数的表。

+-------+------+------+
| Month | ID A | ID B |
+-------+------+------+
| Jan   | 100  | 10   |
+-------+------+------+
| Feb   | 130  | 13   |
+-------+------+------+
| Mar   | 90   | 12   |
+-------+------+------+

【问题讨论】:

    标签: cognos report-studio


    【解决方案1】:

    ID A定义为...

    CASE
      WHEN ID LIKE 'A%' THEN 1
      ELSE 0
    END
    

    ...并将 默认聚合 属性设置为 Total。 对 ID B 执行相同操作。

    【讨论】:

    • 在名为 ID A 的查询项的查询项表达式中。
    【解决方案2】:

    抱歉,如果我误解了要求,但您也许可以使用工具栏上的部分将列表旋转到交叉表中,您的度量值将是 count(ID)。

    【讨论】:

    • 这也是一个很好的答案。这完全取决于您对输出格式、下游数据可用性和其他报告功能的要求。
    【解决方案3】:

    试试这个

    • 查询 1 计数 A ,按 substring(ID,1,1) = 'A' 过滤
    • 查询 2 计数 B ,按 substring(ID,1,1) = 'B' 过滤
    • 按年/月加入查询 1 和查询 2
    • 按月列出,计数 A 和计数 B

    【讨论】:

    • 这个解决方案似乎有点复杂。但是,如果您这样做,您可能希望使用以“A”开头的 ID,并让 Cognos 担心发送到数据库服务器的实际 SQL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多