在SSRS中筛选
问题描述:
我想筛选我的参数,当我选择一个多选列表框时选择一条记录。如果某人没有选择记录,则默认选择“未选定”选项。问题是:在SSRS中筛选
=IIF(
InStr(Join(Parameters!ProvinceID.Value,”,”),0),
True,
IIF(
InStr(Join(Parameters!ProvinceID.Value,”,”),
Fields!ProvinceID.Value
)<>0,
True,
False)
)
结果不会允许正确的过滤器。
答
InStr(Join(Parameters!ProvinceID.Value,”,”),0)
难道不应该0为 “0”
答
尝试:
=IIf(
InStr(Join(Parameters!ProvinceID.Value, ", "), "0") > 0
,True
,IIf(
InStr(Join(Parameters!ProvinceID.Value, ", "), Fields!ProvinceID.Value) > 0,
,True
,False
)
)
InStr
将返回在字符串搜索开始的位置的整数值(如果找到)。因此,您的布尔测试(IIf()
函数的第一个参数)需要确定是否返回了等于或大于1的数字。
- 当你正在寻找一个字符串,则
0
所搜索的字符串中必须被编码为"0"
。
=IIf(
InStr(Join(Parameters!ProvinceID.Value, ", "), "0") > 0
,True
,IIf(
InStr(Join(Parameters!ProvinceID.Value, ", "), CStr(Fields!ProvinceID.Value)) > 0,
,True
,False
)
)
答
如果
什么是你比较:
Fields!ProvinceID.Value
返回一个整数,那么也必须使用CStr()
功能像这样转换为字符串?通常IIF需要类似= IIF(Fields!ListBox1.Value =“value”,“option1”,“option2”) = IIF(Fields!Eyes.Value =“Green”,“Green”,“Other颜色“)