使用運算式中的內建集合 (報表產生器 3.0 和 SSRS)
在報表的運算式中,您可以包含下列內建集合的參考:ReportItems、Parameters、Fields、DataSets、DataSources、Variables,以及類似報表名稱等全域資訊的內建欄位。並不是所有的集合都會顯示在 [運算式] 對話方塊中。只有報表伺服器上已發行的報表,才可以在執行階段使用 DataSets 和 DataSources 集合。ReportItems 集合是報表區域中的文字方塊集合,例如在頁面或頁首中的文字方塊。
如需詳細資訊,請參閱<運算式 (報表產生器 3.0 和 SSRS)>。
[!附註]
您可以在 Business Intelligence Development Studio 中的報表產生器 3.0 及報表設計師中建立及修改報表定義 (.rdl)。每一個撰寫環境都提供了不同的方式讓您建立、開啟,以及儲存報表和相關的項目。如需詳細資訊,請參閱在報表設計師及報表產生器 3.0 (SSRS) 中設計報表,位於 microsoft.com 網站上。
了解內建集合
下表列出當您撰寫運算式時可用的內建集合。每一列都包含該集合的區分大小寫程式設計名稱,以及您是否可以使用 [運算式] 對話方塊以互動的方式加入集合的參考、範例及描述 (包含初始化及提供集合值的時間)。
內建集合 |
[運算式] 對話方塊中的類別目錄 |
範例 |
說明 |
---|---|---|---|
Globals |
內建欄位 |
=Globals.ReportName - or - =Globals.PageNumber |
代表對報表很有用的全域變數,例如:報表名稱或頁碼。永遠可以使用。 如需詳細資訊,請參閱<使用內建的全域和使用者參考 (報表產生器 3.0 和 SSRS)>。 |
User |
內建欄位 |
=User.UserID - 或 - =User.Language |
代表有關執行報表之使用者的資料集合,例如,語言設定或使用者識別碼。永遠可以使用。 如需詳細資訊,請參閱<使用內建的全域和使用者參考 (報表產生器 3.0 和 SSRS)>。 |
Parameters |
參數 |
=Parameters("ReportMonth").Value - 或 - =Parameters!ReportYear.Value |
代表報表參數的集合,每個參數都可以是單一值或多重值。處理初始化完成後才可以使用。如需詳細資訊,請參閱<使用參數集合參考 (報表產生器 3.0 和 SSRS)>。 |
Fields(<Dataset>) |
欄位 |
=Fields!Sales.Value |
代表可供報表使用之資料集的欄位集合。可在從資料來源將資料擷取至資料集之後使用。如需詳細資訊,請參閱<使用資料集欄位集合參考 (報表產生器 3.0 和 SSRS)>。 |
DataSets |
不顯示 |
=DataSets("TopEmployees").CommandText |
代表從報表定義的主體所參考的資料集集合。不包含只用於頁首或頁尾的資料來源。不適用於本機預覽。如需詳細資訊,請參閱<使用運算式中的 DataSources 和 DataSets 集合參考 (報表產生器 3.0 和 SSRS)>。 |
DataSources |
不顯示 |
=DataSources("AdventureWorks").Type |
代表從報表主體內所參考的資料來源集合。不包含只用於頁首或頁尾的資料來源。不適用於本機預覽。如需詳細資訊,請參閱<使用運算式中的 DataSources 和 DataSets 集合參考 (報表產生器 3.0 和 SSRS)>。 |
Variables |
Variables |
=Variables!CustomTimeStamp.Value |
代表報表變數和群組變數的集合。如需詳細資訊,請參閱<使用運算式中的報表和群組變數集合參考 (報表產生器 3.0 和 SSRS)>。 |
ReportItems |
不顯示 |
=ReportItems("Textbox1").Value |
代表報表項目的文字方塊集合。這個集合可以用來摘要頁面上的項目,以包含在頁首或頁尾中。如需詳細資訊,請參閱<使用 ReportItems 集合參考 (報表產生器 3.0 和 SSRS)>。 |
在運算式中使用集合語法
若要從運算式參考集合,您可以針對集合中的項目使用標準 Microsoft Visual Basic 語法。下表顯示集合語法的範例。
語法 |
範例 |
---|---|
Collection!ObjectName.Property |
=Fields!Sales.Value |
Collection!ObjectName("Property") |
=Fields!Sales("Value") |
Collection("ObjectName").Property |
=Fields("Sales").Value |
Collection("Member") |
=User("Language") |
Collection.Member |
=User.Language |
將內建集合傳入自訂組件
如果您想要將內建集合傳入自訂組件進行處理,就必須將程式碼專案中的組件參考加入至定義內建集合的組件,並且存取正確的命名空間。根據您是針對在報表伺服器上執行的報表 (伺服器報表) 還是以本機方式在 .NET 應用程式中執行的報表 (本機報表) 開發自訂組件,您需要參考的組件會有所不同。如需詳細資訊,請參閱以下內容。
命名空間:Microsoft.ReportingServices.ReportProcessing.ReportObjectModel
組件 (本機報表):Microsoft.ReportingServices.ProcessingObjectModel.dll
組件 (伺服器報表):Microsoft.ReportViewer.ProcessingObjectModel.dll
因為 Fields 和 ReportItems 集合的內容可能會在執行階段以動態方式變更,所以您不應該在自訂組件的呼叫之間保留它們 (例如,保留在成員變數中)。相同的建議通常適用於所有內建集合。