【问题标题】:Cognos CrosstabCognos 交叉表
【发布时间】:2015-03-04 09:36:18
【问题描述】:

我正在尝试在 Report Studio 中生成数据交叉表,但失败了。

我拥有的列表中的数据是:

  • ID、产品、等级
  • 1、产品1、D
  • 1、产品2、C
  • 1、产品3、D
  • 2,产品1,C
  • 2, Product2, C
  • 2、产品3、A

我想要一个交叉表:

  • ID、产品1、产品2、产品3
  • 1,D,C,D
  • 2、C、C、A

但是我在 Cognos 中生成的交叉表给了我全部空白或“等级”的计数或总和。

  • ID、产品1、产品2、产品3
  • 1,
  • 2,

任何帮助将不胜感激。非常感谢你。

最好, 汤姆

【问题讨论】:

  • 你能展示你已经尝试过的任何东西吗?

标签: crosstab cognos


【解决方案1】:

Crosstab 仅适用于数字。 所以交叉表的度量不应该是 A、B、C。

  1. 使用数字作为度量(A = 1、B = 2 等),使用 MAX 或 MIN 作为聚合。
  2. 然后将您的数字转换为单元格内的文本。例如,将 Source Type 属性更改为 Report Expression 并编写合适的公式。 (或解锁单元格并将查询计算拖入其中)

你不能这样做

ID|产品1|产品2|产品3

1 | D,A | C | D

2 | C | C |一个

简单地说。

【讨论】:

    【解决方案2】:

    如果我对您的理解正确,您需要为您的产品等级列使用 case 语句:

    ID     PRODUCT1        
    1      case when Product = 'Product1' then grade else null end
    

    您可能需要将 case 语句包装在 MAX 中,如果不尝试就不确定。

    【讨论】:

      【解决方案3】:

      从你所说的你需要它看起来一个列表是最好的选择。

          ID | Case when [Product] = 'Product1' then [grade] end | same for product 2 and 3
      

      【讨论】:

        猜你喜欢
        • 2010-10-01
        • 1970-01-01
        • 2014-12-15
        • 2016-09-07
        • 2014-06-05
        • 2015-06-24
        • 2020-12-09
        • 2012-06-13
        • 1970-01-01
        相关资源
        最近更新 更多