2016-09-01 88 views
0

我有以下情形:存儲過程作爲數據源的單個.rdl文件。此存儲過程接受兩個參數:@ProcedureName nvarchar(max)@Parameters xml。存儲過程的功能是使用給定的XML參數調用另一個存儲過程(很可能在不同的數據庫上)。所以,實質上,每個被執行的存儲過程將返回它自己的數據集。如何在SSRS報告中實現動態數據集

我該如何創建一個tablix /矩陣,消耗數據集而不指定列,因爲列需要在運行時生成?

回答

0

不幸的是,SSRS沒有「AutoGenerateColumns」風格的功能,並在設計時解決了很多問題。所以簡短的答案是你不能。

設計師在保存時檢查字段引用,並且不會保存對不在數據集的字段列表中的字段的引用。如果在報告定義生成後某個字段不再存在,它將在報告中顯示爲靜態空白值。表達式也會這樣做,即使該字段處於未評估的部分。所以,如果場B被刪除,這個表達式仍然會受到影響:

=IIF(1=1,Fields!A.Value,Fields!B.Value)

這意味着你不能使用條件分組表達式作爲一種解決方法,即使你有列的詳盡清單可能被退回。

+0

我最終爲RDL文件動態生成XML標記,併爲不同的數據集附帶XSLT轉換。所以基於返回的數據集,我設法創建了相關的tablix結構。但是,獲取XML格式正確有點麻煩,因爲我需要事先創建RDL文件以查看標記的樣子(分組,特殊表達式等) –