2017-10-10 87 views
0

我有一個數據集,它看起來像這樣樞軸SSRS數據集

ID |  PName  |  Node  |  Val    | 
1 |  Tag   |  Name  |  XBA    | 
2 |  Tag   |  Desc  |  Dec1   | 
3 |  Tag   |  unit  |  Int    | 
6 |  Tag   |  tids  |  100    | 
7 |  Tag   |  post  |  AAA    | 
1 |  Tag   |  Name  |  XBB    | 
2 |  Tag   |  Desc  |  Des9   | 
3 |  Tag   |  unit  |  Float   | 
7 |  Tag   |  post  |  BBB    | 
6 |  Tag   |  tids  |  150    | 

我想結果在我的報告是

Name | Desc | Unit | Tids | Post | 
    XBA  | Dec1 | int  | 100  | AAA  | 
    XBB  | Des9 | Float | 150  | BBB  | 

我曾嘗試使用SSRS矩陣與

Row: PName 
Data: Node 
Value: Val 

結果只是一行,名稱和下一行desc和下一個單位等。它不是所有在同一行和s第二行不見了。這可能是因爲數據集上沒有分組。

實現預期結果的好方法是什麼?

+0

*我沒有完全得到預期的結果*您得到了什麼結果?他們有什麼不對?你想看到什麼? – iamdave

+1

另外,您的原始數據集來自哪裏?這是您已經編寫但未包括在內的查詢的結果,還是您的數據如何存儲在數據庫中?目前,我看不出一個可靠的辦法把你的問題你的數據集中到你想要的格式,因爲其中沒有分組你的'名稱,商品說明,單位,TIDS,POST'值。 – iamdave

+0

嗨,很好的問題,數據來自存儲過程,但也有其他報告也基於此存儲過程。我只是不想複製這個存儲過程。是的,沒有分組。只有相似性是ID列1,2,3,6,7,它重複。 – Abe

回答

0

我不會推薦這個用於生產場景,但如果您需要快速刪除報告或者您可以嘗試此操作。我會感到不舒服的是,您獲得的記錄順序將始終如您所願。

,你可以嘗試插入SP的結果爲表(普通表,臨時表,表變量...無所謂真的,只要你可以得到一個標識列添加)。假設這些行總是以正確的順序出現(這可能不是100%的有效假設),那麼在表上添加一個標識列以獲得每行的唯一行號。從那裏你應該可以寫出一些數學邏輯來將你的數值「組合」在一起,然後轉出你想要的東西。

 
create table #temp (ID int, PName varchar(100), Node varhar(100), Val varchar(100)) 

insert #temp exec (your stored proc) 

alter table #temp add UniqueID int identity 

then use UniqueID (modulo on 5 perhaps?) to group records together and then pivot