Report Builder 3.0:尝试循环报表参数列表时出现语法错误

时间:2018-02-02 17:00:14

标签: vba function reporting-services sql-server-2008-r2 reportbuilder3.0

我试图执行以下操作:

  1. 提供参数的可用值列表。用户可以选择多个值,也可以不选择任何值。
  2. 如果所选参数列表中存在某个值,则显示相应的列。如果没有,请隐藏该列。
  3. 为此,我编写了一个自定义函数,它接受一个整数,检查参数列表中是否存在此整数,并输出False / True以隐藏/显示列。

    参数示例:

    "compilerOptions": {
      "moduleResolution": "node",
    }
    

    代码: Report Builder 3.0说我在第8行有语法错误,但我不确定它是什么。

    Label          Value
    Pallet         1
    Item           2
    .
    .
    .
    nth-label      n
    

1 个答案:

答案 0 :(得分:1)

您可以直接在类似

的表达式中执行此操作
=Array.IndexOf(Parameters!myParameter.Value, 1) > -1

注意:如果您已将参数类型保留为默认文本,则表达式必须具有引用的值,如此

=Array.IndexOf(Parameters!myParameter.Value, "1") > -1

或者为了便于阅读,我们可以使用参数标签代替它的值

=Array.IndexOf(Parameters!myParameter.Label, "Pallet") > -1

如果列可见性与您预期的相反,您可能需要反转结果(即< = - 1)。