在SSRS中切换表达式:参数'VarExpr'不是有效值“

时间:2016-12-02 10:23:43

标签: reporting-services ssrs-expression

=switch(
    Fields!HEORG_REFNO.Value=7535,"public", 
    Fields!HEORG_REFNO.Value=7539,"public",
    Fields!HEORG_REFNO.Value=7609,"public",
    Fields!HEORG_REFNO.Value=7541,"public",
    true,"private"
)

我想根据诊所是私人或公共的天气对我的结果进行分组,因此我试图根据上述切换条件创建一个新的字段。 如果(heorg_refno = 7539或heorg_refno = 7609或heorg_refno = 7541)那么它将被公开,否则诊所应该是私人的。

任何建议我在switch语句中做错了什么。

1 个答案:

答案 0 :(得分:1)

这样做的一个原因可能是Fields!HEORG_REFNO.Value实际上不包含整数值,而是String值。在这种情况下,你必须与字符串进行比较:

 =Switch 
 (
    Fields!HEORG_REFNO.Value="7535","public", 
    Fields!HEORG_REFNO.Value="7539","public",
    Fields!HEORG_REFNO.Value="7609","public", 
    Fields!HEORG_REFNO.Value="7541","public",
    true, "private"
 )

您需要检查SSRS数据集中<{1>}列的类型

另外根据我的经验,这样的东西在你的数据集中创建一个假的列是个好主意,你可以过滤它而不是在表达式中添加太多东西。

后者迟早会导致混乱。