代码之家  ›  专栏  ›  技术社区  ›  Justin

如何用Reporting Services表达式语言编写if else语句?

  •  8
  • Justin  · 技术社区  · 15 年前

    我想写一份报告服务 "Expression" 其基本行为如下(伪代码)。。。

    if ([Fields!StateProvinceId.Value] == 1)
    {
       return "Ontario";
    }
    else if ([Fields!StateProvinceId.Value] == 2)
    {
       return "Quebec";
    }
    else if ([Fields!StateProvinceId.Value] == 3)
    {
       return "Manitoba";
    }
    // ...
    // more cases same pattern
    

    我看不出这种逻辑,我必须嵌套一堆IIF吗?

    =IIF(Fields!StateProvinceId.Value = 1, "Ontario", IIF(Fields!StateProvinceId.Value = 2, "Quebec", IFF(Fields!StateProvinceId.Value = 3, "Manitoba", "Unknown Province")))
    
    1 回复  |  直到 9 年前
        1
  •  15
  •   Anon246    15 年前

    你试过转换语句吗?

    = Switch( Fields!StateProvinceId.value=1,"Ontario", Fields!StateProvinceId.value=2,"Quebec", Fields!StateProvinceId.value=3,"Manitoba")
    

    参见本页的“决策函数”示例:

    http://msdn.microsoft.com/en-us/library/ms157328.aspx

    推荐文章