建立報表參數及設定報表參數屬性
新增: 2006 年 7 月 17 日
報表的報表參數定義是全域的。如果報表查詢包含參數,則會自動建立報表參數,也可以手動建立報表參數。在建立報表參數之後,您必須設定屬性來識別參數及控制參數在報表中的使用方式。
若要在發行報表之前使用參數,請使用「報表設計師」中的 [報表參數] 對話方塊。如需詳細資訊,請參閱<如何:加入、編輯或刪除報表參數 (報表設計師)>。
在發行報表之後,您可以在「報表管理員」或 SQL Server Management Studio 中修改許多報表參數屬性。如需有關修改參數屬性和安全性考量的詳細資訊,請參閱<設定已發行報表的參數屬性>。
報表參數
雖然會針對查詢參數自動建立報表參數,但是當刪除查詢參數時,絕對不會自動刪除報表參數。
若要開啟 [報表屬性] 對話方塊,請切換至「報表設計師」中的 [資料] 或 [配置] 檢視,然後從 [報表] 功能表選取 [報表屬性]。您將會在左窗格中看到報表參數的清單。選取您要修改的參數。
名稱和資料類型
參數名稱是必要的,且必須在報表中是唯一的。依預設,參數資料類型設定為 String。您可以從下拉式清單中選擇其他資料類型。如果報表參數以查詢參數為基礎,請確定報表參數資料類型與查詢參數資料類型相符。Reporting Services 不會偵測查詢參數資料類型,因此您必須自行調整資料類型。
名稱必須符合 Common Language Specification (CLS) 的字元和大小寫標準。如需詳細資訊,請在 https://msdn.microsoft.com 上搜尋 "Common Language Specification"。
提示
在已發行報表中,參數通常會顯示為報表上方參數輸入區域中的文字方塊。提示字串定義識別輸入區域中之參數的標籤。提示可以是參數的名稱或是對使用者的指示,例如,「年份」或是「請選取一個年份」。如果提示保留空白並指定了預設參數值,就會使用預設值,而且使用者執行報表時,不會顯示參數的輸入方塊。如果提示保留空白,而且沒有指定預設參數值,則無法執行報表。如果您不想要為使用者提示參數值,請將參數標示為 [隱藏] 或 [內部]。
隱藏和內部參數
您可以設定選項來控制已發行報表中之參數的可見性。設定 [隱藏] 和 [內部] 選項來提供不同層級的可見性。您可以隱藏已發行報表之參數輸入區域上的參數,但是在報表 URL 或在訂閱定義中設定參數的值。如果將參數設為內部專用,則除了在報表定義中出現之外,該參數不會以任何方式公開。
單一和多重數值參數
您可以在 [報表參數] 對話方塊中選取 [多重數值] 選項來定義多重數值參數。如果未選取此核取方塊,此參數會是單一數值。指定 [多重數值] 選項會將核取方塊加入到已發行報表中參數下拉式清單內的可用值。使用者可以選取他們想要的值;例如,在 Sales Reason Comparisons 範例報表中,使用者可以選取多個產品,以檢視這些產品的結合銷售資料。
指定可用的值時,您可以提供靜態字串清單,或者使用查詢從資料來源擷取可用的值。多重數值參數至少必須包含一個值。不允許 Null 值。只有當有一個以上的值時,才會自動建立及顯示 [全選] 選項。
![]() |
---|
在 SQL Server 2005 中,如果您使用的是 Analysis Services 資料來源,請不要選擇 [全選] 選項。[全選] 選項在處理 MDX 查詢時可能會產生較差的效能。如果您要選取所有的值,請改選 [全部] 成員清單。 |
允許空白
當您建立可用值的清單時,如果您希望讓 <空白> 有效,您必須將它加入到有效值清單中。
允許 Null
[允許 Null] 是適用於單一數值參數的選項。如果是多重數值參數,您將無法選取這個值。當您選取 [允許 Null] 時,便允許參數具有 Null 值。依預設,許多查詢語言都不會在結果集內傳回 Null 值。
可用的值
您定義報表參數時,必須定義可以搭配報表使用的值。這些稱為可用的值或有效的值。可用的值清單會包含配對的值/標籤。執行報表時,使用者會看見標籤。使用者選取標籤時,會使用對應的值作為參數值。可以將可用的值預先定義為靜態清單或運算式,或者可以從資料集擷取可用的值:
- 非查詢的清單是值/標籤配對的靜態清單。整個清單包含在報表參數定義中。每一個值和標籤可以是靜態值或是從運算式產生。
- 查詢清單會使得報表伺服器在執行報表時,從資料集裡擷取一組值和標籤。您指定查詢的可用值清單時,會選取資料集、供值使用的欄位以及供標籤使用的欄位。
指定查詢的可用值清單時,建議您建立參數專用的簡化資料集,而不是使用報表中之資料區域也會使用的複雜資料集。有效值清單和報表中之資料區域若使用相同的有效值清單的資料集,則可能會在有效值清單中產生非預期的結果。
預設值
您可以定義參數的預設值。如果報表中所有的參數都有預設值,則在使用者開啟報表、或在報表設計師中預覽報表時,會立即處理報表。如果其中至少有一個參數沒有預設值,則只會在使用者輸入所有的參數值並執行報表後,報表才會顯示資料。
您可以使用非查詢的或查詢的值作為預設值。非查詢的預設值是靜態值或運算式。查詢的預設值是指向資料集內之欄位的運算式。如果查詢傳回多個資料列,則會使用傳回的資料集內之第一個資料列的值。
您也可以選擇不要指定預設值。如果這麼做,就必須指定提示。
![]() |
---|
如果是使用多重數值參數,而查詢傳回一個以上的資料列,則所有的資料列都會作為預設值。 |
請參閱
其他資源
教學課程:在基本表格式報表中加入參數
教學課程:使用參數的進階功能
在 Reporting Services 中使用參數
報表參數 (報表設計師)