Reporting services 基于两个参数的行可见性

Reporting services 基于两个参数的行可见性,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我试图基于两个参数使一行可见 ParameterA是一个字符串 参数b是一个字符串 数据集如下所示: Product | Warehouse | Quantity 1000 | A | 100 1000 | B | 100 Subtotal | | 200 1001 | A | 200 1001 | B | 200 Subtotal

我试图基于两个参数使一行可见

  • ParameterA
    是一个字符串
  • 参数b
    是一个字符串
数据集如下所示:

Product | Warehouse  |  Quantity

1000     |     A      |    100
1000     |     B      |    100
Subtotal |            |    200
1001     |     A      |    200
1001     |     B      |    200
Subtotal |            |    400
1002     |     A      |    500
Subtotal |            |    500
=IIF(Parameters!ParameterA.Value = "2" & Parameters!ParameterB.Value = 1,True,False)
参数A显示(2)或隐藏(1)单个仓库条目,只留下小计

对于参数B,如果一个产品只有一个仓库有库存,则返回0;如果该产品有多个仓库有库存,则返回1

对于“小计行”,我希望它显示参数A是否要隐藏仓库条目,但显然,如果该仓库只有一个产品,则确保该行可见。否则,产品1002将不会显示“隐藏单个仓库条目”选项

我的尝试如下所示:

Product | Warehouse  |  Quantity

1000     |     A      |    100
1000     |     B      |    100
Subtotal |            |    200
1001     |     A      |    200
1001     |     B      |    200
Subtotal |            |    400
1002     |     A      |    500
Subtotal |            |    500
=IIF(Parameters!ParameterA.Value = "2" & Parameters!ParameterB.Value = 1,True,False)
这会产生以下错误:

tablix“Tablix2”的隐藏表达式包含错误: 未为字符串“2”和类型“Object()”定义操作“&”


对于如何获得所需结果的任何想法,我们都将不胜感激。

在VB.Net中,“&”用于浓缩两个字符串,对于逻辑and运算符,我们只需使用“”。。 这是两个完全不同的关键字

在这里,您试图使用“&”进行导致错误的逻辑“与”运算。正确的表达应该是这样的:

    =IIF(Parameters!ParameterA.Value = "2" AND Parameters!ParameterB.Value = 1,True,False)

你好,马哈茂德-我在文章的顶部提到了这一点。对不起,您是否定义了其中任何一个允许多个值?你好,马哈茂德,ParameterB被设置为带整数的多个值,这是一个错误,它应该是带多个值的文本。我纠正了这一点,但是产生了相同的错误。ParameterA不允许多个值。我在测试报告中测试了它,它工作正常,没有显示任何错误。您能再次检查参数类型并确保这两种类型不允许多个值吗?由于错误表明其中一个参数值不是数据类型字符串,它将其视为
object()
。请尝试在
IIF
表达式中使用