2016-03-10 55 views
0

我需要將存儲在多行中的數據轉換爲具有單獨單元格的單行。我已經看到了多種解決方案,可將多行存儲的數據轉換爲單行CSV格式的單個單元格。但是我沒有看到顯示如何在COGNOS顯示在單獨的細胞中,這種數據的任何解決方案10.多行到單行在COGNOS中分離單元格

在COGNOS 10 I有列出象這樣的數據: This is how i have the data currently

它是兩個表的接觸信息的一個和一個的成員信息。不過,我需要與家屬如在一行上顯示該數據的配偶/ child1 /的child2等爲seperatas例如:

This is how I need the document

回答

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]) 

設置聚合函數 '計算'

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 

這將創建一個你想要的列。但是,你仍然會有相同的行。爲了擺脫行,您可以將Person和ID以及Child Count之外的所有列的Aggregate Function屬性設置爲'Maximum'。這與默認的Auto-Group和Summarize屬性一起會將所有內容滾動到定義您的穀物,人員和ID的兩列。

+0

謝謝!!!我必須做出的唯一改變是爲了獲得我想要的東西,就是向子列添加一個AND語句,以再次檢查狀態是否爲子,以便它不會再次下降到配偶中(我的子計數重複相同的計數號碼到達配偶時,不知道這是否可以預防) – user6046432

+0

啊。我明白你的意思了。您希望將[Dep Type]爲配偶的行的runnning-count踢出null。這可以通過case語句來完成。 CASE [Dep Type] WHEN'Child'THEN running-count([Person],[ID]的[Children])ELSE null END – Johnsonium