內建欄位集合,包含 Globals 和 User 集合,代表 Reporting Services 處理報表時所提供的全域值。 集合 Globals 提供值,例如報表的名稱、報表處理開始的時間,以及報表頁首或頁尾的目前頁碼。 集合 User 提供使用者識別碼和語言設定。 這些值可用於表達式來篩選報表中的結果。
備註
您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計。
使用 Globals 集合
集合 Globals 包含報表的全域變數。 在設計介面上,這些變數會以「&」(ampersand)作為前置詞,例如 Globals 。
| 成員 | 型別 | 說明 |
|---|---|---|
| 執行時間 | DateTime |
報表開始執行的日期和時間。 |
| 頁碼 | Integer |
相對於重設頁碼之分頁符號的目前頁碼。 在報表處理開始時,初始值會設定為 1。 每個轉譯頁面的頁碼會遞增。 若要在 PageBreak 屬性的 PageBreak 屬性上,為矩形、數據區、數據區群組或地圖內的分頁編號,請將 ResetPageNumber 屬性設定為 True。 不支援 Tablix 列階層群組。PageNumber 只能在頁首或頁尾的表達式中使用。 |
| 報告資料夾 | String |
包含報表之資料夾的完整路徑。 這不包含報表伺服器 URL。 |
| 報告名稱 | String |
報表儲存在報表伺服器資料庫中時的名稱。 |
| ReportServerUrl | String |
執行報表之報表伺服器的 URL。 |
| 總頁數 | Integer |
相對於重設PageNumber之分頁符號的總頁數。 如果未設定分頁符號,這個值會與 OverallTotalPages 相同。 TotalPages 只能在頁首或頁尾的表達式中使用。 |
| 頁面名稱 | String |
頁面的名稱。 在報表處理開始時,會從 Report 屬性 InitialPageName 設定初始值。 處理每個報表專案時,這個值會由矩形、數據區、數據區群組或地圖中的PageName對應值取代。 在 Tablix 欄階層群組中不受支援。 PageName 只能在頁首或頁尾的表達式中使用。 |
| 總頁碼 | Integer |
整個報表之目前頁面的頁碼。 這個值不受 ResetPageNumber 影響。 OverallPageNumber 只能在頁首或頁尾的表達式中使用。 |
| 總頁數 | Integer |
整個報表的總頁數。 這個值不受 ResetPageNumber 影響。 OverallTotalPages 只能在頁首或頁尾的表達式中使用。 |
| RenderFormat | RenderFormat |
目前渲染要求的相關資訊。 如需詳細資訊,請參閱下一節中的“RenderFormat”。 |
集合的成員 Globals 會傳回 Variant。 如果您想要在需要特定資料類型的表達式中使用這個集合的成員,您必須先轉換變數。 例如,若要將執行時間變異轉換成 Date 格式,請使用 =CDate(Globals!ExecutionTime)。 如需詳細資訊,請參閱運算式中的資料類型 (報表產生器和 SSRS)。
RenderFormat
下表列出了 RenderFormat 的成員。
| 會員 | 類型 | 說明 |
|---|---|---|
| 名稱 | String |
在 RSReportServer 組態檔中註冊的轉譯器名稱。 可在報表處理/轉譯週期的特定部分使用。 |
| IsInteractive | Boolean |
目前的轉譯要求是否使用互動式轉譯格式。 |
| 裝置資訊 | 唯讀名稱與值集合 | 目前轉譯請求的設備資訊參數的鍵/值配對。 您可以使用鍵值或索引來指定字串值。 |
範例
下列範例示範如何在表達式中使用集合的參考 Globals :
這個運算式放在報表頁尾的文字框中,提供報表中的頁碼和總頁數:
=Globals.PageNumber & " of " & Globals.TotalPages此表示式提供報表的名稱及其執行時間。 時刻會以 Microsoft .NET Framework 的短日期格式字串格式化:
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")這個表達式放在所選取資料行的 [ 資料行可見性 ] 對話框中,只有在報表匯出至 Excel 時,才會顯示資料行。 否則,該欄位將會被隱藏。
EXCELOPENXML是指 Office 2007 中包含的 Excel 格式。EXCEL是指 Office 2003 中包含的 Excel 格式。=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)
使用使用者集合
集合 User 包含執行報表之使用者的相關數據。 您可以使用這個集合來篩選報表中顯示的數據,例如,只顯示目前用戶的數據,或在報表標題中顯示UserID。 在設計介面上,這些變數會以 &(ampersand)作為前置詞,例如
下表描述集合的成員 User 。
| 成員 | 型別 | 說明 |
|---|---|---|
Language |
String |
執行報表之用戶的語言。 例如: en-US 。 |
UserID |
String |
執行報表之用戶的標識碼。 如果您使用 Windows 驗證,此值就是目前使用者的網域帳戶。 此值取決於 Reporting Services 安全性延伸模組,其可使用 Windows 驗證或自定義驗證。 |
若需了解如何在報表中支援多種語言的更多資訊,請參閱《SQL Server 在線文件》中 Reporting Services 文件的「解決方案設計考量:多語或全球部署」。
使用地區設定
您可以使用表達式透過User.Language 值來參考用戶端電腦上的地區設定,以判斷報表向用戶顯示的方式。 例如,您可以根據地區設定值建立使用不同查詢表達式的報表。 根據傳回的語言,查詢可能會變更為從不同的數據行擷取本地化資訊。 您也可以根據這個變數,在報表或報表項目的語言設定中使用表示式。
備註
雖然您可以變更報表的語言設定,但您必須注意任何可能造成的顯示問題。 例如,變更報表的地區設定可以變更報表中的日期格式,但也可以變更貨幣格式。 除非有貨幣的轉換程序,否則可能會導致報表中顯示不正確的貨幣符號。 若要避免這種情況,請設定您想要變更之個別項目的語言資訊,或將專案與貨幣數據設定為特定語言。
識別快照集或記錄報表的UserID
在某些情況下,包含 User!UserID 變數的報表無法顯示針對目前檢視報表的使用者的特定數據。
另請參閱
運算式 (報表產生器及 SSRS)
表示式對話框 (報表產生器)
運算式中的資料類型 (報表產生器及 SSRS)
格式化數字和日期 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)