Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSRS表达式IIF,在if真部分具有聚合函数_Reporting Services_Expression_Aggregate Functions_Iif - Fatal编程技术网

Reporting services SSRS表达式IIF,在if真部分具有聚合函数

Reporting services SSRS表达式IIF,在if真部分具有聚合函数,reporting-services,expression,aggregate-functions,iif,Reporting Services,Expression,Aggregate Functions,Iif,这个SSRS表达式可以满足我的需要: =CountDistinct(IIF(字段!BuildingNumber.Value=“1”和字段!InspectionCycle.Value=“A”或字段!InspectionCycle.Value=“B”,字段!ParcelID.Value,无),“DataSet1”) -CountDistinct(IIF(字段!BuildingNumber.Value=“1”和字段!InspectionCycle.Value=“A”,字段!ParcelID.Value

这个SSRS表达式可以满足我的需要:

=CountDistinct(IIF(字段!BuildingNumber.Value=“1”和字段!InspectionCycle.Value=“A”或字段!InspectionCycle.Value=“B”,字段!ParcelID.Value,无),“DataSet1”)
-CountDistinct(IIF(字段!BuildingNumber.Value=“1”和字段!InspectionCycle.Value=“A”,字段!ParcelID.Value,无),“DataSet1”)
我想在开头加上这个条件:
=IIF(参数!循环值(0)=“A”
我想我需要在结尾添加类似的内容:
,无),“数据集1”)
然后,我想继续:
OR=IIF(参数!循环值(0)=“B”

我得到一个“')”预期错误。此外,条件中是否需要(0)?谢谢你抽出时间! 根据您的帮助,这里有一个工作表达式:

=IIF(INSTR(JOIN(Parameters!Cycle.Value,”,”,“B”)>0,CountDistinct(IIF(Fields!BuildingNumber.Value=“1”和Fields!InspectionCycle.Value=“B”或Fields!InspectionCycle.Value=“A”,Fields!ParcelID.Value,0),“nrbuildinginsp”)-CountDistinct(IIF(Fields!BuildingNumber.Value=“1”和Fields!InspectionCycle.Value=“A”,Fields!ParcelID.Value,0),“nrbuildinginsp”),0)
在这里,如果第一个参数为false,它将检查另一个参数:

=IIF(INSTR(JOIN(Parameters!Cycle.Value,”,”,“B”)>0,CountDistinct(IIF(Fields!BuildingNumber.Value=“1”和Fields!InspectionCycle.Value=“B”或Fields!InspectionCycle.Value=“A”,Fields!ParcelID.Value,0),“nrbuildinginsp”)-CountDistinct(IIF(Fields!BuildingNumber.Value=“1”和Fields!InspectionCycle.Value=“A”,Fields!ParcelID.Value,0),NRBuildingsInsp),IIF(INSTR(JOIN(Parameters!Cycle.Value,字段!ParcelID.Value,0),“nrbuildinginsp”))

如果参数!Cycle.Value=同时为“B”和“C”,我将如何修改它以提供结果?

您可以显示更新的表达式吗?为什么您需要结尾处的
,“DataSet1”)
。我想这是你的问题。这与您添加的
CountDistinct
函数有关,而不是与
IIF
有关。您的循环参数是多值的吗?
(0)
是多值中第一个选定参数的指示器。要检查任何多值选择中的值,可以使用
=IIF(INSTR(JOIN(Parameters!Cycle.value,,”,“B”)>0,
。这将把一个多值参数的选定值组合成一个字符串,并检查a
B
-如果未找到,则返回0,如果找到,则返回字符位置。=IIF(INSTR(JOIN(Parameters!…有效!!非常感谢。我喜欢学习一些新的东西。我不知道为什么上面的一些文本切换为粗体??我必须如何修改表达式以提供参数!Cycle.Value=同时为“B”和“C”的结果?只需添加一个OR,并添加另一个与B-=IIF的INTR比较(INSTR(JOIN(Parameters!Cycle.Value,,”),“B”)>0或INSTR(连接(参数!Cycle.Value,”,“,”,“C”)>0,)