2012-03-23 64 views
19
使用「內部」參數的規則

有一個選項在SSRS創建「內部」參數:哪些是在SSRS

  1. 在使用它們什麼情況下?
  2. 什麼是使用內部參數的一般規則?

回答

32

SSRS中的內部參數是最終用戶在運行時無法配置的參數。

這與隱藏參數不同,該參數不提示用戶提供,但仍可通過URL配置到報表服務器。

請參閱MSDN上的"Creating Report Parameters"瞭解更多信息。

它們的一種可能的用法是與Report Viewer control一起使用。 ASP.Net頁面可以包含報告查看器控件,並在代碼隱藏中使用內部參數爲報表提供最終用戶不應該能夠控制的值,例如用戶ID。

這可以防止用戶提供不同的用戶ID以查看他們不應該被允許查看的數據。

但是,如果您在報表中使用內部參數,但希望它在報表查看器控件外保持功能,則需要指定一個適當的默認值。否則,報告將無法從報告管理器或報告服務器中使用。

+1

我正在玩弄使用UserId的方式(通過報表服務器呈現的報表),以根據誰在查看報表來過濾報表中的信息。我迄今發現的例子並沒有使用隱藏參數。這將是一個很好的情況下使用隱藏參數? ...是的,但我需要提供默認值?...默認值可以是UserID變量? – whytheq 2012-03-24 16:35:40

+2

@Whytheq如果您使用「隱藏」參數,用戶仍然可以通過編輯URL來模擬其他用戶。 – TomG 2014-06-10 12:34:46

+0

@TomG謝謝 - 所以基本上一個經驗法則是,如果用戶從不需要知道參數的值然後使它們成爲內部的? – whytheq 2014-06-10 12:42:11

2

如果將參數設置爲Internal,則除報告定義(數據集查詢或存儲過程)外,不會以任何方式公開它。換句話說,內部參數是一個在運行時無法更改的參數。已發佈報告的最終用戶絕不會將此視爲參數。但發佈商可以隨時在報告的管理選項中更改參數值。 你可以找到例如內部參數的在這個環節的功能: https://sqlserverreportingservices.wordpress.com/2012/11/16/using-internal-parameters-to-filter-data-without-user-intervention/

1

如果您將參數設置爲隱藏,會當用戶在報表服務器上訂閱,但可以看到,如果你設置的參數爲Internal ,具有瀏覽器角色的用戶無法看到並更改它。