COGNOS中的多行到单行分离单元

时间:2016-03-10 23:42:44

标签: sql rows cognos rdms

我需要将存储在多行中的数据转换为具有单独单元格的单行。我已经看到了几种解决方案,用于将存储在多行中的数据转换为CSV的单行单个单元格。但是我没有看到任何解决方案,显示如何在COGNOS 10中的单独单元格中显示此数据。

在COGNOS 10中,我的数据如下: This is how i have the data currently

这是联系信息和会员信息之一的两个表格。但是我需要在一行上显示这些数据,如配偶/ child1 / child2等依赖,如:

This is how I need the document

1 个答案:

答案 0 :(得分:1)

<强>配偶

CASE [Dep Type]
WHEN 'Spouse' THEN [Dep] 
ELSE null
END

<强>配偶年龄

CASE [Dep Type]
WHEN 'Spouse' THEN [Age - Pers] 
ELSE null
END

<强>儿童

CASE [Dep Type]
WHEN 'Child' THEN [Dep] 
ELSE null
END

子计数

running-count([Children] for [Person],[ID])

将聚合函数设置为&#39;计算&#39;

<强> Child1

CASE [Child Count]
WHEN 1 THEN [Dep] 
ELSE null
END

<强> Child1年龄

CASE [Child Count]
WHEN 1 THEN [Age - Dep] 
ELSE null
END

<强> CHILD2

CASE [Child Count]
WHEN 2 THEN [Dep] 
ELSE null
END

<强> CHILD2年龄

CASE [Child Count]
WHEN 2 THEN [Age - Dep] 
ELSE null
END

<强> Child3

CASE [Child Count]
WHEN 3 THEN [Dep] 
ELSE null
END

<强> Child3年龄

CASE [Child Count]
WHEN 3 THEN [Age - Dep] 
ELSE null
END

<强> Child4

CASE [Child Count]
WHEN 4 THEN [Dep] 
ELSE null
END

<强> Child4年龄

CASE [Child Count]
WHEN 4 THEN [Age - Dep] 
ELSE null
END

这将创建您想要的列。但是,您仍将拥有相同的行。要删除行,您可以为除“人员”和“ID和子计数”之外的所有列设置“聚合函数”属性为“最大值”。这与默认的Auto-Group和Summarize属性一起将所有内容都滚动到定义您的grain,Person和ID的两列。