表達式在報表中廣泛使用,以擷取、計算、顯示、群組、排序、篩選、參數化和格式化數據。 許多報表專案屬性都可以設定為表達式。 表達式可協助您控制報表的內容、設計和互動性。 表達式是以visual Basic Microsoft撰寫、儲存在報表定義中,並在您執行報表時由報表處理器評估。
不同於Microsoft Office Excel 等應用程式,您可以在工作表中直接處理數據,在報表中處理屬於數據佔位符的表達式。 若要查看評估表達式的實際數據,您必須預覽報表。 當您執行報表時,報表處理器會評估每個表達式,因為它結合報表數據和報表版面配置元素,例如數據表和圖表。
當您設計報表時,會為您設定許多報表項目的表達式。 例如,當您將欄位從資料窗格拖曳至報表設計介面上的數據表數據格時,文本框值會設定為字段的簡單表達式。 在下圖中,[報表數據] 窗格會顯示數據集欄位標識碼、名稱、SalesTerritory、Code 和 Sales。 數據表已新增三個字段:[Name]、[Code]和 [Sales]。 設計介面上的表示法 [Name] 代表基礎表示式 =Fields!Name.Value
。
當您預覽報表時,報表處理器會結合數據表數據區與數據連接的實際數據,並針對結果集中的每一個數據列,在數據表中顯示一個數據列。
若要手動輸入表示式,請選取設計介面上的專案,並使用快捷功能表和對話框來設定項目的屬性。 當您在下拉式清單中看到 (fx) 按鈕或值 <Expression>
時,您知道您可以將 屬性設定為表示式。 如需詳細資訊,請參閱新增表達式(報表產生器及 SSRS)。
如需詳細資訊和範例,請參閱下列主題:
若要開發使用自定義程式碼或自定義元件的複雜表達式或表示式,建議您在 SQL Server Data Tools (SSDT) 中使用報表設計師。 如需詳細資訊,請參閱報表設計師中表達式中的自定義程式碼和元件參考 (SSRS)。
備註
您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計。
了解簡單和複雜的表達式
表達式以等號 (=) 開頭,並以Visual Basic Microsoft撰寫。 表達式可以包含常數、運算符和內建值參考的組合(欄位、集合和函式),以及外部或自定義程式碼。
您可以使用表示式來指定許多報表專案屬性的值。 最常用的屬性是文字框和佔位文字的值。 一般而言,如果文本框只包含一個運算式,則表達式是文本框屬性的值。 如果文字框包含多個運算式,則每個運算式都是文字框中預設文字的值。
根據預設,表達式會顯示在報表設計介面上,做為 簡單 或 複雜的表達式。
簡單 簡單表達式包含內建集合中單一項目的參考,例如數據集欄位、參數或內建字段。 在設計介面上,簡單的運算式會出現在括弧中。 例如,
[FieldName]
對應至基礎表示式=Fields!FieldName.Value
。 當您建立報表配置並將專案從 [報表數據] 窗格拖曳至設計介面時,會自動為您建立簡單的表達式。 如需代表不同內建集合之符號的詳細資訊,請參閱 瞭解簡單表達式的前置詞符號。複雜 複雜表達式包含多個內建參考、運算元和函數調用的參考。 當表達式值包含多個簡單的參考時,複雜表達式會顯示為 <<Expr>> 。 若要檢視表達式,請將滑鼠停留在它上方,並使用工具提示。 若要編輯表達式,請在 [ 表達式 ] 對話框中開啟它。
下圖顯示文字框和佔位元文字的典型簡單和複雜表達式。
若要顯示範例值而非表達式的文字,請將格式化套用至文字框或佔位文字。 下圖顯示切換為顯示範例值的報表設計介面:
如需詳細資訊,請參閱格式化文字和佔位元(報表產生器及 SSRS)。
了解簡單表達式中的前置詞符號
簡單表達式會使用符號來指出參考是字段、參數、內建集合或 ReportItems 集合。 下表顯示顯示與表示式文字的範例:
項目 | 顯示文字範例 | 表達式文字範例 |
---|---|---|
數據集欄位 | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
報表參數 | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
內建欄位 | [&ReportName] |
=Globals!ReportName.Value |
用於顯示文字的文字字元 | \[Sales\] |
[Sales] |
撰寫複雜表達式
表達式可以包含對函式、運算子、常數、欄位、參數、內建集合中的項目、以及內嵌的自定義程式碼或自定義組件的參考。
備註
若要開發使用自定義程式碼或自定義元件的複雜表達式或表示式,建議您在 SQL ServerSQL Server Data Tools 中使用報表設計師(SSDT)。 如需詳細資訊,請參閱報表設計師中表達式中的自定義程式碼和元件參考 (SSRS)。
下表列出您可以在表示式中包含之參考種類:
參考資料 | 說明 | 範例 |
---|---|---|
常數 | 描述您可以針對需要常數值的屬性以互動方式存取的常數,例如字型色彩。 | ="Blue" |
運算子 | 描述可用來在表達式中結合參考的運算符。 例如, & 運算符用於串連字串。 |
="The report ran at: " & Globals!ExecutionTime & "." |
內建集合 | 描述您可以包含在表示式中的內建集合,例如 Fields 、 Parameters 和 Variables 。 |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
內建報表和聚合函數 | 描述您可以從表示式存取的內建函式,例如 Sum 或 Previous 。 |
=Previous(Sum(Fields!Sales.Value)) |
報表設計師中表示式中的自訂程式代碼和元件參考 (SSRS) | 描述如何存取內建 CLR 類別 Math 和 Convert、其他 CLR 類別、Visual Basic 運行時庫函數或方法,以及來自外部元件的方法。 描述如何存取報表中嵌入的自訂程式碼,或將其編譯並安裝為報表用戶端和報表伺服器上的自訂組件。 |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
驗證表達式
當您建立特定報表專案屬性的表達式時,您可以包含在表達式中的參考取決於報表專案屬性可接受的值,以及評估屬性的範圍。 例如:
根據預設,表達式 [Sum] 會計算在評估表達式時範圍內的數據總和。 對於表格儲存格,範圍取決於行和列群組的成員資格。 如需詳細資訊,請參閱總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)。
若是Font屬性的值,該值必須能被解析成字型名稱。
表達式語法會在設計時間進行驗證。 當您發佈報表時,就會發生表達式範圍驗證。 針對依賴實際數據的驗證,只能在執行時偵測錯誤。 其中有些表達式會在轉譯的報表中產生 #Error 做為錯誤訊息。 若要協助判斷這類錯誤的問題,您必須在 SQL Server Data Tools (SSDT) 中使用報表設計師。 報表設計師提供輸出視窗,提供這些錯誤的詳細資訊。
如需詳細資訊,請參閱表達式參考(報表產生器及 SSRS)。