【问题标题】:IN(Item, Set) in a calculated field dataset计算字段数据集中的 IN(Item, Set)
【发布时间】:2013-09-18 09:14:48
【问题描述】:

我正在尝试在数据集中创建一个计算字段,我需要使用表达式 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表达式的语法?

【问题讨论】:

    标签: reporting-services ssrs-2008


    【解决方案1】:

    您可以在此处使用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 中看不到任何内容。如果您提供链接,我可以修改答案,但如您所见,第一个建议效果很好。

    【讨论】:

    • 只有在数据集之外创建计算字段时,您的公式才有效。在我的情况下,我需要从数据集中创建它,并且有 IN 语法,它是 IN(Item, Set),但我不知道如何在我的值中说明 Set Part。
    • 为什么不能在数据集中使用它?我已经扩展了我的答案,展示了这一点。
    【解决方案2】:

    我只是通过数据集中的这个计算字段公式解决了我的问题:

    感谢您的支持 问候。 乔治

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      相关资源
      最近更新 更多