在 Framework Manager Cognos 的同一行中显示所有数据
Show all data in the same row in Framework Manager Cognos
我正在使用 IBM Cognos Framework Manager/Report 作者 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
Received Paid需要在同一行显示最新的
日期为 09/25/2015 的信息。
不确定如何在报告甚至框架模型中执行此操作?
当您经常遇到这种类型的数据建模时,这是一个棘手但值得提出的问题。我可以在报告中给你一个解决方案
您需要计算的两位是每个 ID 的最大值 'Date Updated' 和每个 ID 的第二个最大值 'Date Updated'。
使用以下表达式创建名为 'Max Date' 的新数据项:
maximum([Date Updated] for [Case ID])
使用以下表达式创建另一个名为 'Next Max Date' 的新数据项:
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
将 'Latest Activity' 和 'LAST Activity' 的 'Aggregate Function' 属性 设置为 'Maximum'。
总结
我们计算每个案例 ID 的最大日期。接下来,我们使用 CASE 语句排除与最大日期对应的行,然后为所有其他行的每个案例 ID 获取最大值。我们创建一个新的数据项,如果日期与最大日期匹配,它将吐出 Activity ,否则会发出 null 。我们创建第二个数据项,如果日期与最大日期的下一个匹配,则输出 Activity ,否则输出 null。我们将两者的聚合函数设置为 'Maximum',其作用是通过自动分组和汇总过程去除这些列中的任何空值。这给我们留下了每行的两个新列,显示最新的 activity 和之前的一个。
我正在使用 IBM Cognos Framework Manager/Report 作者 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
Received Paid需要在同一行显示最新的 日期为 09/25/2015 的信息。
不确定如何在报告甚至框架模型中执行此操作?
当您经常遇到这种类型的数据建模时,这是一个棘手但值得提出的问题。我可以在报告中给你一个解决方案
您需要计算的两位是每个 ID 的最大值 'Date Updated' 和每个 ID 的第二个最大值 'Date Updated'。
使用以下表达式创建名为 'Max Date' 的新数据项:
maximum([Date Updated] for [Case ID])
使用以下表达式创建另一个名为 'Next Max Date' 的新数据项:
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
将 'Latest Activity' 和 'LAST Activity' 的 'Aggregate Function' 属性 设置为 'Maximum'。
总结
我们计算每个案例 ID 的最大日期。接下来,我们使用 CASE 语句排除与最大日期对应的行,然后为所有其他行的每个案例 ID 获取最大值。我们创建一个新的数据项,如果日期与最大日期匹配,它将吐出 Activity ,否则会发出 null 。我们创建第二个数据项,如果日期与最大日期的下一个匹配,则输出 Activity ,否则输出 null。我们将两者的聚合函数设置为 'Maximum',其作用是通过自动分组和汇总过程去除这些列中的任何空值。这给我们留下了每行的两个新列,显示最新的 activity 和之前的一个。