背景一行與列名
我想創建一個SSRS報告,該報告將傳遞作爲參數的表上運行select *
,並顯示從該表中的所有數據。據我瞭解,我無法爲此使用表格。我想使用數據透視表來實現這一點。
select * from @table
將返回這樣的事情(從AdventureWorks DB)
我想顯示這種格式的日期:
問題
我如何做到這一點?我看着使用PIVOT/UNPIVOT,但我看到的所有示例都使用靜態列名稱和聚合。我會在設計時(或運行時)不知道列名,我假設我需要列表頭,如'表名','值1','值2'等?
限制
我不會有機會來創建存儲過程。理想情況下,報告應該能夠完全從SSRS運行,而無需創建新表格等。
性能不是問題。
編輯
編輯添加一些清晰度。上例中的列名僅僅是一個例子。 @table參數可以是任何表,在設計時不會知道列名。列名可能是COL1,COL2,或名稱,地址...等
有趣的問題(或三個)。我可以給你一個解決方案的樞軸/ unpivot位,但不是動態數據集創建。如果你想提出另一個問題只是在樞軸unpivot位,我會發布我的解決方案。 –
就像在Adventureworks person表上的註釋一樣,數據集結果非常快,但報表渲染需要一個年齡(但最終會產生所有業務實體)。 –