Cognos HTML 输出为每列生成多行

Cognos HTML Output Generates multiple rows for each column

我的报告在一个列表中有 6 个查询计算列。每列都来自同一字段 'Sale Number':

IF( 'Metric 1' IN ?pCompany?) THEN ( CASE WHEN ( [Metric] = 'Metric 1' ) THEN ( count( distinct [Sale Number] FOR [Metric], [Category] )) END ) ELSE ( 0 )

这些列中的每一列都将详细信息和摘要聚合设置为 None。计算工作正常。但是,该报告正在为其中包含数据的列生成每一行。像下面这样:

我尝试将 Detail 和 Summary 聚合更改为 Default, Total 但是这些选项将整个列值添加到单个单元格中并且不一致。 尝试对类别字段进行分区和分组,但这只是对类别名称进行分组,每个类别仍然重复 no.of 行。

知道如何将每个类别的输出变成一行吗?我使用的是 Cognos 11.0.11 版本。

这看起来像一个交叉表。尝试将查询项简化为:

count( distinct [Sale Number] FOR  [Metric], [Category] )

...并使用交叉表。

或者您可以使用 [Category]、[Metric] 和 count(distinct [Sale Number]) 将这部分逻辑分解为单独的查询,然后将其加入其余数据。这将使您能够在交叉表中使用它,或者为 "metric #" 列创建一个更简单的表达式。

我想我只是运气好,找到了解决方案。更新查询以使用 running-count 而不是 count:

IF( 'Metric 1' IN ?pCompany?)
THEN
(
CASE
WHEN ( [Metric] = 'Metric 1' ) THEN 
( running-count( distinct [Sale Number] FOR  [Metric], [Category] ))
END
)
ELSE
( 0 )

并将 Detail Aggregation 更改为 Count DistinctSummary Aggregation 设置为 None

每个类别的输出都在一行中。当我尝试仅使用 Count Distinctrunning-count 时它不起作用。它必须是两者的结合。