2014-09-24 94 views
1

我對SSRS編程很陌生,我碰到過一個我無法找到答案的挑戰。我們正在確保我們的SSRS網站的安全,並且迄今爲止我已取得成功,但我正在嘗試執行以下操作:SSRS-隱藏基於另一個Tablix值的Tablix

當用戶登錄時,我們有他們的用戶ID。我有一張表,其中包含UserID和他們的「角色」名稱。我想要做的是如果登錄用戶的ID沒有出現在列表(特定角色列表)中,則不返回任何數據。隱藏Tablix或顯示消息說他們未被授權。

到目前爲止,我有我的主要報告(DataSet1),我有我的查找表(DataSet2)。我對下的可視性主報告下面的表達式。

=IIF(First(Fields!LoginNm.Value, "DataSet2") = Parameters!UserID.Value,False,True) 

的問題是,如果第一個用戶,這將工作在列表中的ID是登錄的人,但之後的任何東西都不能正常工作。我嘗試刪除First但後來我只是得到一個錯誤。

任何人都可以幫我弄清楚如何用另一個表中的值來隱藏表格嗎?

回答

0

使用Lookup代替:

=IIF(Lookup(Parameters!UserID.Value, Fields!LoginNm.Value, Fields!LoginNm.Value, "DataSet2") = Parameters!UserID.Value, False, True) 

Lookup功能在SSRS 2008 R2及以後可用。

請注意,用戶ID在全局變量User!UserID中也可用。