我有两个共享“RequestID”的SharePoint列表。报告的主要列表是“操作项”,但我只想查看Application等于所选参数的那些记录。该应用程序位于“请求”列表中。
我想过滤Application name = 'Math'
,所以在这种情况下,我只会获得与请求#15和#22相关的动作项ID 44和55。
我已使用以下方法在报告中成功显示了应用程序的名称:
=Join(LookupSet(CInt(Fields!Request_ID.Value), CInt(Fields!ID.Value), Fields!Application.Value, "Requests"), ", ")
但是,我知道你不能在过滤器中使用Lookup。有什么想法吗?
答案 0 :(得分:0)
听起来你应该使用级联参数来做你想做的事。
使用级联参数,您可以在一个参数中选择应用程序,然后根据使用Application参数的操作项参数进行选择。
使用SQL,您可以过滤 ActionItemID 的数据集:
SELECT ActionItemID
FROM ACTION_ITEMS
WHERE REQUEST_ID IN (SELECT REQUEST_ID FROM REQUESTS WHERE APPLICATION = @APPLICATION_PARAMETER )
但您可以在DataSet 过滤器标签上过滤操作项SharePoint列表:
<强>表达式强>:
=IIF(INSTR(
Join(LookupSet(Parameters!@APPLICATION_PARAMETER.Value, Fields!Application.Value, Fields!ID.Value, "Requests"), ",") & ","
, Fields!Request_ID.Value & ",") > 0, 1, 0)
这将查找ID中的请求ID (来自LookUp [15,22,]),其中参数(MATH)作为应用程序。
https://technet.microsoft.com/en-us/library/aa337169(v=sql.100).aspx
https://technet.microsoft.com/en-us/library/aa337498(v=sql.105).aspx