2016-09-13 78 views
0

我有兩個共同具有「RequestID」的SharePoint列表。報告的主要列表是「操作項目」,但我只想查看應用程序等於所選參數的那些記錄。該應用程序位於「請求」列表中。SSRS篩選器第二個列表

Table structures

我要篩選的Application name = 'Math',所以在這種情況下,我只會得到行動項ID 44和55這涉及到請求#15和#22。 我已經成功地顯示在使用這個報告中的應用程序的名稱:

=Join(LookupSet(CInt(Fields!Request_ID.Value), CInt(Fields!ID.Value), Fields!Application.Value, "Requests"), ", ") 

但是,我明白,你不能在過濾器中使用查找。有任何想法嗎?

回答

0

這聽起來像你應該使用級聯參數做你想做的。

隨着級聯參數,您選擇一個參數的應用,然後基地行動項目使用的應用程序參數參數的選擇。

使用SQL您可以過濾爲ActionItemID S中的數據集:

SELECT ActionItemID 
FROM ACTION_ITEMS 
WHERE REQUEST_ID IN (SELECT REQUEST_ID FROM REQUESTS WHERE APPLICATION = @APPLICATION_PARAMETER) 

但是你可以過濾的數據集FILTER選項卡中的行動項目SharePoint列表:

表達

=IIF(INSTR(
    Join(LookupSet([email protected]_PARAMETER.Value, Fields!Application.Value, Fields!ID.Value, "Requests"), ",") & "," 
    , Fields!Request_ID.Value & ",") > 0, 1, 0) 

這尋找請求ID在參數(MATH)作爲應用程序的ID列表中(來自LookUp [15,22,])。

enter image description here

https://technet.microsoft.com/en-us/library/aa337169(v=sql.100).aspx

https://technet.microsoft.com/en-us/library/aa337498(v=sql.105).aspx

+0

只有一個報告參數, 「應用程序」。請記住,這是使用SharePoint列表 - 無SQL。我可以很容易地使用SQL。該參數值列表來自另一個SP列表「應用程序」。該參數正確顯示應用程序。問題是當我查詢「操作項目」列表時,試圖從「請求」列表中獲取應用程序。 – Laurel

+0

我認爲SharePoint可能是問題所在 - 我沒有將它作爲源代碼。你不能用它作爲** DataSource **嗎? https://www.mssqltips.com/sqlservertip/2068/using-a-sharepoint-list-as-a-data-source-in-sql-server-reporting-services-2008-r2/ –

+0

是的,您可以使用一個SharePoint列表作爲數據源,但是您無法將其添加到另一個SharePoint列表中......這是整個問題。 – Laurel