使用運算式中的內建集合 (報表產生器 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 集合的內容可能會在執行階段以動態方式變更,所以您不應該在自訂組件的呼叫之間保留它們 (例如,保留在成員變數中)。相同的建議通常適用於所有內建集合。