共用方式為


在 Reporting Services 中使用參數

更新: 2006 年 7 月 17 日

Reporting Services 中的參數是用來指定用於報表中的資料、將相關報表連接在一起,以及讓報表呈現方式有所不同。報表中有兩種參數類型:查詢參數和報表參數。

  • 當您定義包含變數的資料集查詢時,Reporting Services 會建立對應的查詢參數。查詢參數是用來限制從資料來源中擷取的資料,以便只擷取報表所需的資料。
  • 報表參數會出現在報表工具列上,可讓報表讀者選取或輸入處理報表時所用的值。在「報表設計師」中,會從查詢參數自動建立報表參數。在「報表產生器」中,當您設定篩選子句的提示時,會建立報表參數。您也可以定義未繫結查詢參數的報表參數。在運算式中,可以使用全域 Parameters 集合來包含報表參數的參考;由於可以在整個報表定義中使用運算式來控制內容或外觀,所以報表參數提供了一個功能強大的方法來自訂報表。

下列清單簡短摘要列出參數的重要觀念,以及在 Reporting Services 中使用這些參數的方式:

  • 報表參數是由報表伺服器所處理,而查詢參數則是在資料來源伺服器上處理。
  • 依預設,每一個查詢參數值都會對應到相對應的報表參數值,如此可讓使用者選取報表參數的值,並在查詢中傳遞這些值,以限制從資料來源中擷取的資料。
  • 未繫結至查詢參數的報表參數是用來讓呈現方式有所不同、篩選資料、控制排序和分組,以及讓文字方塊屬性有所不同。您會藉由撰寫包含參數的運算式來進行這項處理。當處理報表時,會使用目前的參數設定來評估運算式。如此一來,您可以使用報表參數來影響允許您指定運算式之報表的任何層面。
  • 您可以設定報表參數屬性來決定參數為單一數值還是多重數值、在執行階段是否可見、使用靜態或以查詢為基礎的有效值清單、是否有預設值,以及是否接受 Null 或空白值。多重數值參數可支援選取一個以上的值。
  • 您可以建立串聯參數來定義報表中其他參數的有效值清單 (例如,選擇特定產品類別目錄會決定可用產品的清單)。
  • 您可以使用參數,將父報表連接到鑽研報表或內嵌子報表。
  • 發行報表之後,可以和原始參數定義分開,個別管理已發行報表內的參數屬性。依照您在設計階段設定報表中之參數的方式,報表伺服器管理員可以修改已發行報表中的許多參數屬性。如需詳細資訊,請參閱<設定已發行報表的參數屬性>。
  • 您可以在訂閱中設定參數。每一個訂閱報表的使用者都可以指定訂閱所儲存及使用的參數值。如需詳細資訊,請參閱<設定訂閱中的參數>。
  • 您可以透過 URL 存取來設定參數。如需詳細資訊,請參閱<Using URL Access Parameters>。
ms155917.security(zh-tw,SQL.90).gif安全性注意事項:
在任何含有 String 類型之參數的報表中,請務必使用可用的值清單 (也稱為有效值清單),並確認執行報表的任何使用者只具有檢視報表資料所需的權限。當您將參數定義為 String 類型時,使用者會看到一個可接受任何值的文字方塊。可用的值清單會限制可輸入的值。如果報表參數繫結至查詢參數,而且您不要使用可用的值清單,則報表使用者可以在文字方塊中輸入 SQL 語法,如此可能會使您的報表及伺服器暴露在 SQL 資料隱碼攻擊的危險之下。如果使用者的權限足以執行新的 SQL 陳述式,伺服器可能會出現不良的結果。 如果報表參數未繫結至查詢參數且參數值未包含在報表中,報表使用者就可以輸入運算式語法、指令碼或 URL 到參數值中,將報表轉譯為 Excel 或 HTML。如果另一個使用者接著檢視報表並按一下轉譯的參數內容,該使用者可能會不小心執行惡意指令碼或連結。 若要減輕不小心執行惡意指令碼的風險,請只從信任的來源開啟轉譯的報表。如需有關保護報表安全的詳細資訊,請參閱<保護報表和資源的安全>。

在此章節中

請參閱

工作

如何:加入篩選 (報表設計師)
如何:將查詢參數與報表參數相關聯 (報表設計師)
如何:加入、編輯或刪除報表參數 (報表設計師)

概念

使用報表配置處理資料
加入互動式功能
篩選報表中的資料
設定已發行報表的參數屬性

其他資源

教學課程:在基本表格式報表中加入參數
教學課程:使用參數的進階功能
報表參數 (報表設計師)

說明及資訊

取得 SQL Server 2005 協助