2015-11-20 10 views
1

我使用IBM Cognos Framework Manager中/报告作者10.2.1显示在同一行中的Framework Manager COGNOS

数据看起来像下面的两行中的所有数据:

**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 

收到支付需要在同一行,显示出与09/25/201最新 信息5日期。

不知道如何在报告或框架模型中做到这一点?

回答

1

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

您需要弄清楚的两位是每个ID的最大'Date Updated',以及每个ID的最大'Date Updated'的最大值。

创建一个名为“马克斯日期”下面的表达式一个新的数据项:

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 

创建y等所谓的“最近的活动”用下面的表达式另一数据项:

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

设置两者的最新活动“和“上一次活动”到“最大”的“聚合函数”属性。

摘要

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

+0

这当然是棘手的。在我的环境中尝试相同的练习后,您的解决方案建议工作很好。它也很快。我也很感谢最后一段详细解释了这种方法。非常感谢您的参与。 – GoCognos