我正在尝试在数据集中创建一个计算字段,我需要使用experssion IN(item,set)来测试'Covergate Type'字段是否等于以下值之一:
Cargo
Contractors All Risks
Erection All Risks
PI A&E Single Project
Single CGL
我试过写:
IN(Coverage Type,"Cargo Contractors All Risks","Erection All Risks","PI A&E Single Project","Single CGL")
但它不起作用。
任何人都可以帮助我编写IN
表达式的语法吗?
答案 0 :(得分:0)
您可以在IIf
处使用计算字段中的各种检查;没有自定义代码的SSRS中没有真正的IN
等价物:
=IIf(Fields!CovergateType.Value = "Cargo"
or Fields!CovergateType.Value = "Contractors All Risks"
or Fields!CovergateType.Value = "Erection All Risks"
or Fields!CovergateType.Value = "PI A&E Single Project"
or Fields!CovergateType.Value = "Single CGL"
, true
, false)
这将返回一个布尔值,具体取决于它是否符合您的要求。
根据您的要求更改字段名称/返回表达式。
在评论后修改
您绝对可以将其用作数据集中的计算字段。
假设我们有一个简单的查询来生成样本数据集:
现在,使用上面的表达式添加一个计算字段:
然后,可以将其用作报表中任何位置的普通列,甚至可以用作数据集中的后续计算字段:
仍不确定SSRS中IN功能的含义 - 我在VB.NET function reference中看不到任何内容。如果您提供链接,我可以修改答案,但第一个建议可以正常工作,如您所见。
答案 1 :(得分:0)
我只是通过数据集内的这个计算字段公式来解决我的问题:
感谢您的支持 问候。 乔治