2013-11-20 82 views
3

我試圖創建一個SSRS報告,其中父組有2套不同的細節,我似乎無法弄清楚如何顯示父行下面的獨特的細節SSRS顯示2個不同的細節

例如:

table1 
master 
master1 
master2 

table2 
master, hand 
master1, hand1 
master1, hand2 
master2, hand1 
master2, hand2 

table3 
master, foot 
master1, foot1 
master1, foot2 
master2, foot1 
master2, foot2 

我的SQL查詢如下

select t1.master, t2.hand, t3.foot 
from table1 t1 
left outer join table2 t2 on t1.master = t2.master 
left outer join table2 t3 on t1.master = t3.master 

我想要的SSRS報表輸出是

master1 
hand1 
hand2 
foot1 
foot2 

master2 
hand1 
hand2 
foot1 
foot2 

到目前爲止,我已經能夠得到

master1 
hand1 
hand2 
master2 
hand1 
hand2 

但只要我嘗試添加另一行顯示的腳將其鏈接到手上沒有掌握所以會出現這樣的

master1 
hand1 
foot1 
hand1 
foot2 
hand2 
foot1 
hand2 
foot2 

master2 
hand1 
foot1 
hand1 
foot2 
hand2 
foot1 
hand2 
foot2 

如果我添加分組之外的另一行只顯示從表3

master1 
hand1 
hand2 
foot1 

master2 
hand1 
hand2 
foot1 

回答

2

與您的數據:

enter image description here

基於hand一個master組和兒童組開始:

enter image description here

添加相鄰組hand組,但小組foot這個時候:

enter image description here

enter image description here

Tablix看起來像現在這樣:

enter image description here

這給需要的結果:

enter image description here

+0

非常感謝你這樣做 – user3014803

2

最佳ID的第一行ea是改變你的數據結構。除了加入所有三個表格外,還可以執行兩個單獨的查詢(1個用於t2和1個用於t3),並將它們組合在一起,然後將數據按行排序,組合起來更容易。你需要通過tableName

select t1.id, t2.detail, 't2' tableName from (
select 'master' id union 
select 'master1' id union 
select 'master2' id) t1 
left outer join 
(
select 'master' id, 'hand' detail union 
select 'master1' id, 'hand1' detail union 
select 'master1' id, 'hand2' detail union 
select 'master2' id, 'hand1' detail union 
select 'master2' id, 'hand2' detail)t2 
on t1.id = t2.id 

UNION 

select t1.id, t3.detail, 't3' tableName from (
select 'master' id union 
select 'master1' id union 
select 'master2' id) t1 
left outer join 
(
select 'master' id, 'foot' detail union 
select 'master1' id, 'foot1' detail union 
select 'master1' id, 'foot2' detail union 
select 'master2' id, 'foot1' detail union 
select 'master2' id, 'foot2' detail)t3 
on t1.id = t3.id 

groupingExample2

結果的細節組排序是

Grouping result

+0

這是否第一個選擇的工作?根據原始查詢,沒有自然的手/腳層次結構,因此我認爲需要相鄰的組。你會建議什麼樣的分組?也就是說,這裏最好的選擇是真正改變查詢以允許更自然的報告,正如你所描述的那樣,所以+1! –

+0

謝謝薩姆改變查詢也會做的伎倆! – user3014803

+0

@IanPreston我認爲你是對的..因爲手/腳有多個細節行,所以第一個選項不起作用。我的第一個選擇是改變查詢,但另一個組合是一個想法,因爲我認爲我錯過了一個簡單的伎倆。 – Sam