設定已發行報表的參數屬性
更新: 2006 年 7 月 17 日
參數化報表是在報表處理中可接受輸入值的報表。參數是建立報表時在報表設計師中定義的。如需有關定義參數的詳細資訊,請參閱<在 Reporting Services 中使用參數>。
報表發行之後,您可以使用報表管理員或 SQL Server Management Studio 執行下列動作,以修改參數屬性:
- 使用預先設定 (使用者未介入) 的參數值執行報表。
- 使用預設參數值或使用者選取的有效值來執行報表。
- 執行報表,不指定參數值。可以指定 Null 值以傳回未篩選的結果集。
- 執行個人化報表,根據使用者提供的值來取得使用者特定資訊 (例如,根據個人識別碼來取得帳戶或薪資存根的餘額)。
如果從報表設計師重新發行報表定義,則您在報表管理員或 Management Studio 中,為已發行報表所設定的參數屬性一般會保留下來。如果報表定義和報表同樣重新發行,且參數名稱和資料類型保持相同,則會保留屬性設定。如果您加入或刪除報表定義中的參數,或變更現有參數的資料類型或名稱,您就可能需要變更已發行報表的參數屬性。
並非所有的參數都可以在任何情況下修改。如果報表參數從查詢取得預設值,該值就無法在報表管理員中修改。指定為「以查詢為基礎的」預設參數值是在報表定義中定義,且無法在報表管理員中修改。以查詢為基礎的參數值並不是常數值。執行階段使用的值會在查詢執行時決定,如果是以運算式為基礎的參數,則會在評估運算式時決定。
報表執行選項會影響處理參數的方式。以快照集執行的報表無法使用從查詢所衍生的參數,除非查詢包括參數的預設值。如需有關查詢參數的詳細資訊,請參閱<參數化報表>。
參數化報表的安全性考量
散發包含機密或敏感資訊的參數化報表時,請特別小心。使用者可以輕鬆地以其他值取代報表參數,造成您不希望發生的資訊洩露。
使用員工或個人資料之參數的一個安全替代方式,就是根據包含 Users 集合之 UserID 欄位的運算式來選取資料。Users 集合提供一種方法,來取得執行報表之使用者的識別,並使用該識別來擷取使用者特定資料。如需詳細資訊,請參閱<在運算式中使用全域集合 (Reporting Services)>。
安全性注意事項: |
---|
在任何含有 String 類型之參數的報表中,請務必使用可用的值清單 (也稱為有效值清單),並確認執行報表的任何使用者只具有檢視報表資料所需的權限。當您將參數定義為 String 類型時,使用者會看到一個可接受任何值的文字方塊。可用的值清單會限制可輸入的值。如果報表參數繫結至查詢參數,而且您不要使用可用的值清單,則報表使用者可以在文字方塊中輸入 SQL 語法,如此可能會使您的報表及伺服器暴露在 SQL 資料隱碼攻擊的危險之下。如果使用者的權限足以執行新的 SQL 陳述式,伺服器可能會出現不良的結果。 如果報表參數未繫結至查詢參數且參數值未包含在報表中,報表使用者就可以輸入運算式語法、指令碼或 URL 到參數值中,將報表轉譯為 Excel 或 HTML。如果另一個使用者接著檢視報表並按一下轉譯的參數內容,該使用者可能會不小心執行惡意指令碼或連結。 若要減輕不小心執行惡意指令碼的風險,請只從信任的來源開啟轉譯的報表。如需有關保護報表安全的詳細資訊,請參閱<保護報表和資源的安全>。 |
設定參數屬性
您可以在已發行之報表上修改的參數屬性,是由原始報表定義中指定的參數所決定。您可以隨時變更顯示文字及 Hide 屬性,此屬性會決定使用者是否可以看見該參數。然而,如果值是從查詢衍生而來,則您不一定能夠變更預設值。在此情況下,參數旁邊會出現「QueryBased」文字字串。
若要修改參數屬性,請開啟報表的 [參數屬性] 頁面。您可以修改下列屬性:
- 有預設值屬性會決定若無使用者的輸入,是否可以處理報表。如果參數尚未指定預設值,則使用者必須先提供值,才能處理報表。
- 預設值屬性可以是常數或 Null (如果參數接受 Null 值)。它不能設定為運算式。
- 隱藏屬性會決定使用者是否看得到顯示和輸入欄位。選取此核取方塊可隱藏參數。
- 提示使用者屬性,會決定使用者是否能夠為參數輸入或選取其他的有效值。停用隱藏 時,會啟用此屬性。
- 顯示文字屬性會指定在參數旁出現的文字。此文字可以是提供使用指示的標籤或較長的文字字串。您選取 [提示使用者] 時,會啟用此屬性。
您無法刪除、重新命名、重新排列或變更已發行之報表中參數的資料類型。此外,您也不能變更參數名稱。若要變更上述任一個屬性,就必須修改報表定義。
隱藏參數
您可以隱藏搭配報表使用的參數欄位和標籤。當所有參數都隱藏時,也會隱藏視需要報表的參數區域。如果您隱藏參數,就必須在報表定義或 [參數屬性] 頁面中提供預設值。如果允許 Null,您可以指定 Null 值,這會視報表而定。
隱藏參數並不會在所有情況下都看不見參數。您在報表工具列上隱藏的參數,還是可以在訂閱和透過 URL 設定。若要在報表定義以外的所有地方隱藏參數,請從 [報表參數] 對話方塊中選取 [內部]。
若要隱藏參數:
- 選取 [有預設值]。
- 指定 [預設值]。
- 選取 [隱藏]。
驗證參數值
若要確認所指定的值是否有效,請執行報表。與參數處理相關的錯誤,會出現在 [報表管理員錯誤] 頁面中。若要進一步調查問題,您可以檢視記錄檔。如需詳細資訊,請參閱<Reporting Services 記錄檔>。
設定訂閱中的參數
除了使用 [參數屬性] 頁面之外,在建立訂閱時也可以設定參數值。每一個訂閱報表的使用者都可以指定訂閱所儲存及使用的參數值。如需詳細資訊,請參閱<設定訂閱中的參數>。
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 7 月 17 日 |
|
請參閱
工作
如何:在已發行的報表上設定參數 (SharePoint 整合模式)
概念
其他資源
在 Reporting Services 中使用參數
參數屬性頁面 (報表管理員)
管理報表伺服器內容