Sql server SSRS数据集中的条件过滤器

Sql server SSRS数据集中的条件过滤器,sql-server,reporting-services,ssrs-2008,ssrs-2012,ssrs-2008-r2,Sql Server,Reporting Services,Ssrs 2008,Ssrs 2012,Ssrs 2008 R2,我正在使用以下表达式,但当添加ExTyp=“f”IFF条件时,它将失败。不确定我哪里做错了: " & IIF(Parameters!ExTyp.Value ="S", "AND ELG.MBR_EFCT_DT<= '"& Parameters!EndDate.Value &"' AND (ELG.MBR_TRM_DT>= '" & Parameters!StartDate.Value & "' OR ELG.MBR_TRM_DT IS NULL

我正在使用以下表达式,但当添加ExTyp=“f”IFF条件时,它将失败。不确定我哪里做错了:

" & IIF(Parameters!ExTyp.Value ="S", "AND ELG.MBR_EFCT_DT<= '"& Parameters!EndDate.Value &"' AND (ELG.MBR_TRM_DT>= '" & Parameters!StartDate.Value & "' OR ELG.MBR_TRM_DT IS NULL) ","") & "  
        " & IIF(Parameters!ExTyp.Value ="F", "AND (ELG.MBR_EFCT_DT>=G.GRP_ORIG_EFCT_DT AND ELG.MBR_EFCT_DT<=CURRENT DATE) AND (ELG.MBR_TRM_DT >ELG.MBR_EFCT_DT OR ELG.MBR_TRM_DT IS NULL)" ,"") & " 
“&IIF(Parameters!ExTyp.Value=“S”,“AND ELG.MBR\u EFCT\u DT=”&Parameters!StartDate.Value&“OR ELG.MBR\u TRM\u DT为空)”,“)&”
&IIF(Parameters!ExTyp.Value=“F”,“AND(ELG.MBR\u EFCT\u DT>=G.GRP\u ORIG\u EFCT\u DT和ELG.MBR\u EFCT\u DTELG.MBR\u EFCT\u DT或ELG.MBR\u TRM\u DT为空)”,“”)

你能用一句话描述一下你的IIF吗?例如,如果exttype=“S”和date(MBR_EFCT_DT)小于或大于参数end date,则,如果exttype=“F”,则,etc.IIF区分大小写。您是否输入了“f”并希望返回与输入“f”相同的结果?IIF看起来正常-除了额外的
&“
最后,我假设它来自一个部分表达式。您是收到错误还是没有数据?如果出现错误,请在Visual Studio中运行它,并让我们知道错误消息的内容。是否有任何原因使其无法进入基础查询?@HardCode-看起来他正在基于数据集表达式中的参数构建查询。我想他可以把它们联合起来,在WHERE子句中使用@ExType(
WHERE@ExType='S'和…
),但这样做应该不会太费力。