在Framework Manager Cognos中显示同一行中的所有数据

时间:2015-11-20 16:29:22

标签: cognos

我正在使用IBM Cognos Framework Manager / Report Author 10.2.1

两行的数据如下所示:

**Case ID    Activity              Date Updated**

11111        Bill Paid             09/25/2015
11111        Received Bill         08/01/2015

在我的报告中,我需要针对相同的案例展示以下内容:

**Case ID    LAST Activity     LATEST ACTIVITY      Date Updated**

11111        Received Bill     Bill Paid           09/25/2015

收到的付费需要显示在显示最新信息的同一行中 2015年9月25日日期的信息。

不确定如何在报告甚至框架模型中执行此操作?

1 个答案:

答案 0 :(得分:1)

这是一个棘手的问题,但是当您经常遇到这种类型的数据建模时,这是一个值得回答的问题。我可以在报告中给你一个解决方案。

您需要弄清楚的两个比特是每个ID的最大“更新日期”,以及每个ID的最大“更新日期”的下一个。

使用以下表达式创建一个名为“Max Date”的新数据项:

maximum([Date Updated] for [Case ID])

使用以下表达式创建另一个名为“下一个最大日期”的新数据项:

maximum(
CASE 
WHEN [Date Updated] <> [Max Date] THEN [Date Updated] 
ELSE null 
END
for [Case ID])

使用以下表达式创建另一个名为“Latest Activity”的数据项:

CASE 
WHEN [Date Updated] = [Max Date] THEN [Activity] 
ELSE null
END

使用以下表达式创建另一个名为“LAST Activity”的数据项:

CASE 
WHEN [Date Update] = [Next Max Date] THEN [Activity]
ELSE null
END

将“最新活动”和“最后活动”的“聚合函数”属性设置为“最大值”。

<强>摘要

我们计算每个案例ID的最大日期。接下来,我们使用CASE语句排除与最大日期对应的行,然后为所有其他行的每个Case ID获取最大值。我们创建一个新的数据项,如果日期与最大日期匹配,则会吐出活动,否则发出null。我们创建第二个数据项,如果日期与最大日期的下一个匹配,则输出Activity,否则吐出null。我们将两者的聚合函数设置为“最大值”,这样可以通过自动组和汇总过程消除这些列中的任何空值。这使我们每行留下两个新列,显示最新的活动和之前的活动。