參數 (報表產生器 3.0 和 SSRS)

報表參數可讓您控制報表資料、將相關的報表連接在一起,以及變更報表呈現方式。若要設計有效使用參數的報表,您必須了解參數和資料集查詢之間的關聯、如何在運算式中包含參數,以及如何從報表伺服器或 SharePoint 網站上的報表定義分別管理參數。

您可以利用下列方式建立報表參數:

  • 建立或加入內嵌或共用的資料集,該資料集擁有的查詢會包含查詢變數。

  • 從 [報表資料] 窗格手動建立參數。

  • 加入報表組件,其中包含參數的參考或內含變數之共用資料集的參考。

在您發行報表之後,可以分開管理參數與報表定義。您甚至可以為同一個報表建立多組參數。如需詳細資訊,請參閱<設定已發行報表的參數屬性>和<加入、修改和刪除連結報表>。

報表檢視器工具列會顯示每一個參數,讓使用者能夠以互動的方式指定值。下圖顯示包含 @StartDate、@EndDate、@Subcategory@ShowAllRows 參數之報表的參數區域。

報表檢視器工具列上的參數

  1. 參數窗格:報表檢視器工具列會顯示每個參數的提示和預設值。工具列上的參數配置會自動格式化。其順序是由參數出現在 [報表資料] 窗格內的順序所決定。

  2. @StartDate 和 @EndDate 參數:參數 @StartDate 的資料類型為 DateTime。[開始日期] 提示會在文字方塊旁邊顯示。若要修改日期,請在文字方塊中輸入新日期,或是使用行事曆控制項。

    @EndDate 參數會出現在 @StartDate 旁邊。

  3. @Subcategory 參數:@Subcategory 參數的資料類型為 Text。由於 @Subcategory 有可用值的清單,因此有效值會出現在下拉式清單中。您必須從此清單選擇值。由於 @Subcategory 會擁有多個值,因此會出現 [全選] 選項,讓您清除或選取清單中全部的值。

  4. @ShowAllRows 參數:@ShowAllRows 參數的資料類型為 Boolean。使用選項按鈕可指定 True 或 False。

  5. 顯示或隱藏參數區域控點:在報表檢視器工具列上,按一下此箭頭可顯示或隱藏參數窗格。

  6. 參數按鈕:在 [報表產生器] 預覽中的 [功能區] 上,按一下 [參數] 按鈕即可顯示或隱藏參數窗格。

  7. 檢視報表按鈕:在報表檢視器工具列上按一下 [檢視報表],即可在輸入參數之後執行報表。如果所有參數都有預設值,則報表會在第一次檢視時自動執行。

如需有關立刻使用參數的詳細資訊,請參閱<教學課程:將參數加入至報表 (報表產生器 3.0)>、<教學課程:將參數加入至報表中 (SSRS)>或報表範例 (報表產生器 3.0 和 SSRS)

[!附註]

參數可以針對擁有包含參數之相依資料集的資料區域發行為個別的報表組件。雖然參數會列為報表組件,但是您無法將報表組件參數直接加入至報表。您必須改為加入報表組件,如此一來,任何必要的報表參數就會從報表組件所包含或參考的資料集查詢中自動產生。如需有關報表組件的詳細資訊,請參閱<報表組件 (報表產生器 3.0)>和<報表設計師中的報表組件 (SSRS)>。

[!附註]

您可以在 Business Intelligence Development Studio 中的報表產生器 3.0 及報表設計師中建立及修改報表定義 (.rdl)。每一個撰寫環境都提供了不同的方式讓您建立、開啟,以及儲存報表和相關的項目。如需詳細資訊,請參閱在報表設計師及報表產生器 3.0 (SSRS) 中設計報表,位於 microsoft.com 網站上。

本文內容

參數的一般使用方式

參數的類型

使用報表參數

使用資料集參數

串聯參數

將參數傳遞至鑽研或子報表

管理 SharePoint 網站之報表伺服器上的參數

本章節內容

相關主題

參數的一般使用方式

以下提供部分最常使用參數的方式:

  • 可讓使用者指定值,以自訂報表中的資料。例如,提供兩個參數,做為銷售資料的開始日期和結束日期。

  • 可讓使用者指定值,協助自訂報表的外觀。例如,提供 Boolean 參數,指出要展開或摺疊資料表中的所有巢狀資料列群組。

  • 建立可選擇的下拉式值清單,如此使用者就只能選取有效的值。

  • 建立每個參數的預設值,如此報表就會在第一次檢視時自動執行。

  • 建立串聯值,如此某一個參數的下拉式清單就會是依據前一個參數之選取項目的一組有效值。這樣可讓您後續從數千個值篩選出能夠管理的參數值數目。

  • 為多位使用者自訂參數集。根據報表伺服器上的銷售報表建立兩個連結的報表。其中一個連結的報表使用銷售人員的預先定義參數值,另一個連結的報表則使用銷售經理的預先定義參數值。這兩個報表會使用相同的報表定義。

  • 可讓使用者從共用資料集篩選資料。將共用資料集加入至報表時,無法變更查詢。在報表中,您可以加入資料集篩選,其中包含您所建立報表參數的參考。

搭配回到頁首連結使用的箭頭圖示回到頁首

參數的類型

報表包括兩種類型的參數:資料集參數和報表參數。

  • 資料集參數:針對資料集查詢命令中的每個查詢變數,會自動建立內嵌資料集或共用資料集的資料集參數。某些查詢設計工具會提供一個區域,可依據欄位名稱加入套用的篩選,另外還提供一個選項,可依據欄位名稱加入資料集參數。

    資料集參數是在您定義資料集查詢之後設定。您可以分別為每一個資料集參數指定預設值。當您將共用資料集加入至報表時,不可覆寫報表中標記為內部的資料集參數。您可以覆寫未標記為內部的資料集參數。您還可以建立額外的參數。如需詳細資訊,請參閱本主題中的使用資料集參數。

  • 報表參數:針對每一個資料集參數會自動建立報表參數。您也可以手動建立報表參數。您可以設定報表參數,讓使用者能夠以互動的方式輸入值,幫助自訂報表的內容或外觀。您也可以設定報表參數,讓使用者無法變更預先設定的值。報表參數可在報表伺服器上與已發佈的報表分開管理。如需詳細資訊,請參閱本主題中的使用報表參數。

    您也可以將報表參數當做報表組件,與報表分開儲存。報表組件會儲存在報表伺服器上,而且可供其他人在報表中使用。本身為參數的報表組件無法從報表伺服器管理。您可以在 [報表組件庫] 中搜尋參數,並且在加入這些參數之後,於報表中進行設定。如需詳細資訊,請參閱<報表組件 (報表產生器 3.0)>。

大部分的情況下,您會使用報表參數。

搭配回到頁首連結使用的箭頭圖示回到頁首

使用報表參數

參數最常見的用法是變更資料集查詢所擷取的報表資料。在此案例中,使用者會在執行報表時接到輸入單一值或多重值的提示,而資料集查詢只會擷取所要求的資料。資料集查詢包含查詢參數,而報表處理器會自動建立間接連結到這些查詢參數的報表參數。

根據預設,自動建立的參數會使用自動產生的名稱、提示和資料類型。您可以使用 [報表屬性] 對話方塊,變更 [報表資料] 窗格中的報表參數屬性。下表摘要說明您可以針對每個參數設定的屬性:

屬性

說明

名稱

輸入區分大小寫的參數名稱。此名稱必須以字母開頭,而且包含字母、數字和底線 (_),但是不可包含空格。若為自動產生的參數,此名稱須符合資料集查詢中的查詢參數。根據預設,手動建立的參數與 ReportParameter1 類似。

提示

在報表檢視器工具列上顯示於參數旁邊的文字。

資料類型

報表參數的資料類型必須是下列其中一種:Text、Integer、Float、DateTime、Boolean。

資料類型決定報表參數在報表檢視器工具列上顯示的方式。如果您撰寫的運算式包含參數的參考,則資料類型也可能很重要。

允許空白值

如果參數值可為空字串或空白,則選取此選項。

如果您為參數指定有效值,而且希望空白值是其中一個有效值,則必須將它納入做為您指定的其中一個有效值。選取此選項並不會自動將空白納入做為可用的值。

允許 null 值

如果參數值可為 null,則選取此選項。

如果您為參數指定有效值,而且希望 null 是其中一個有效值,則必須將 null 納入做為您指定的其中一個有效值。選取此選項並不會自動將 null 納入做為可用的值。

允許多個值

提供可用的值,建立可供使用者選擇的下拉式清單。這是確保資料集查詢中只會提交有效值的好方法。

如果參數值可以是顯示在下拉式清單中的多個值,則選取此選項。不允許 Null 值。選取此選項時,系統會將核取方塊加入到參數下拉式清單內可用值的清單中。清單的頂端包含 [全選] 核取方塊。使用者可以檢查想要的值。

如果提供值的資料迅速改變,則使用者看見的清單可能不是最新的。

可見

選取此選項可顯示報表執行時,位於報表頂端的報表參數。此選項可讓使用者在執行階段選取參數值。

隱藏

選取此選項來隱藏報表中的報表參數。您可以使用報表管理員,在報表 URL、訂閱定義或報表伺服器上設定報表參數值。

內部

選取此選項來隱藏報表參數。報表參數僅能在報表定義中檢視。

可用的值

如果您已為參數指定可用的值,則有效值會固定顯示為下拉式清單。例如,如果您為 DateTime 參數提供可用的值,則參數窗格中會出現日期的下拉式清單,而不是行事曆控制項。

為確保報表和子報表之間的值清單一致,您可以在資料來源上設定一個選項,針對與資料來源相關聯的資料集中的所有查詢使用單一交易。

安全性注意事項安全性注意事項
在任何包含 Text 資料類型參數的報表中,務必使用可用的值清單 (也稱為有效值清單),並且確認任何執行報表的使用者僅擁有檢視報表中資料所需的權限。如需詳細資訊,請參閱<安全性 (報表產生器 3.0)>。

預設值

設定來自查詢或靜態清單的預設值。

如果每個參數都有預設值,則報表會在第一次檢視時自動執行。

進階

設定值,這個值會指出此參數直接或間接影響報表中的資料。

在報表伺服器上,此值用於判斷報表和報表資料的快取選項。

如需詳細資訊,請參閱<報表參數屬性對話方塊、進階 (報表產生器 3.0)>。

搭配回到頁首連結使用的箭頭圖示回到頁首

使用資料集參數

查詢參數是在您於查詢設計工具中建立查詢時定義。有些資料延伸模組會提供選取要加入欄位做為參數的方式。有些資料延伸模組則會識別查詢命令中的查詢變數。針對每個查詢變數會自動建立查詢參數。

並非所有的資料來源都支援查詢參數。當您無法篩選來源的資料時,可以使用報表參數讓使用者在擷取報表所需的資料之後加以篩選。雖然所有的查詢參數都有對應的報表參數,但您仍可以分別定義報表參數。在擷取資料之後,也可以使用報表參數變更報表的外觀或組織。

若要篩選資料集查詢中的資料,您可以加入限制子句,透過指定結果集中要包含或排除的值限制擷取的資料。

使用與資料來源有關聯的查詢設計工具,可幫助您建立參數化查詢。

  • 如果是 Transact-SQL 查詢,不同的資料來源會支援不同的參數語法。支援的範圍是查詢中依據位置或名稱識別的參數。如需詳細資訊,請參閱<將資料加入至報表 (報表產生器 3.0 和 SSRS)> 中特定外部資料來源類型的主題。在關聯式查詢設計工具中,您必須為篩選選取參數選項,才能建立參數化查詢。如需詳細資訊,請參閱<關聯式查詢設計工具使用者介面 (報表產生器 3.0)>。

  • 針對依據多維資料來源 (例如 Microsoft SQL Server Analysis Services、SAP NetWeaver BI 或 Hyperion Essbase) 的查詢,您可以指定是否根據您在查詢設計工具中指定的篩選建立參數。如需詳細資訊,請參閱<查詢設計工具 (報表產生器 3.0)> 中對應於資料延伸模組的查詢設計工具主題。

搭配回到頁首連結使用的箭頭圖示回到頁首

串聯參數

您可以建立串聯參數,讓使用者以特定順序來選擇每一個參數的值,而每一個選擇都會接著限制下一個參數的值。串聯參數可將上千種可能選擇縮減成可管理的數目。例如,使用者選擇產品類別目錄,然後從該類別目錄中可用產品的清單進行選擇,再選擇大小和色彩。

如需詳細資訊,請參閱<如何:將串聯參數加入至報表 (報表產生器 3.0 和 SSRS)>。

搭配回到頁首連結使用的箭頭圖示回到頁首

將參數傳遞至鑽研和子報表

參數可以用來將報表連接到子報表和鑽研報表。這些報表參數可能是隱藏的,會使用主報表中的值為連接的報表選取正確資料,或者使用者可能會在執行階段看到這些參數。

如需詳細資訊,請參閱<使用參數連接到其他報表 (報表產生器 3.0 和 SSRS)>。

管理報表伺服器或 SharePoint 網站上的參數

在報表發行之後,參數可以與報表定義分開管理。依照您在設計階段設定報表中參數的方式,報表伺服器管理員可以修改報表或共用資料集中的許多參數屬性。如果您設計的報表目的是用於排程進行快取或訂閱,則可能有套用至參數的額外需求。如需詳細資訊,請參閱 SQL Server線上叢書中 Reporting Services 文件集的下列主題。

  • **快取報表:**若要建立報表的快取計劃,每一個參數都必須有預設值。如需詳細資訊,請參閱<Reporting Services 中的報表快取>。

  • **快取共用資料集:**若要建立共用資料集的快取計劃,每一個參數都必須有預設值。如需詳細資訊,請參閱<Reporting Services 中的報表快取>。

  • 連結報表:您可以建立包含預設參數值的連結報表,用來篩選不同使用者的資料。如需詳細資訊,請參閱<加入、修改和刪除連結報表>。

  • 報表訂閱:您可以指定參數值篩選資料,並透過訂閱傳遞報表。如需詳細資訊,請參閱<設定訂閱中的參數>和<訂閱與傳遞 (Reporting Services)>。

  • URL 存取:您可以將 URL 中的參數值指定給報表。您也可以使用 URL 存取來執行報表及指定參數值。如需詳細資訊,請參閱<URL 存取>。

搭配回到頁首連結使用的箭頭圖示回到頁首