【问题标题】:How can I find a specific value in an object?如何在对象中找到特定值?
【发布时间】:2021-11-10 08:56:59
【问题描述】:

我有一个参数,它是一个对象并包含一些值:

key Value
0 Apple
1 Juice
2 Banana

所以如果我做Parameters!MyParam.Value(0),结果是AppleParameters!MyParam.Value(1) 结果是Juice,等等。

我要做的是查看我的对象是否包含类似Banana 的值,如果包含则返回true

有可能吗?我在网上没有找到任何东西。我找到的最接近的东西是inStr,但它只适用于字符串......

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    这里有几点要指出...

    在 SSRS 中,参数由 Value 和 Label 组成。您描述为 Key 的内容将是 Value,而您描述为 Value 的内容将是 Label。

    您可以使用 Parameters!MyParam.Label 引用 Parameter 的 Label 属性

    您的问题尚不清楚,但我假设您想搜索参数以查看是否选择了特定值。如果是这样,那么您可以这样做...

    对于这个例子,我已经手动添加了参数值/标签,但是你可以根据需要这样做。

    接下来,出于演示目的,我在报告中添加了一些标签和字段,如下所示。

    所选参数的表达式为

    ="|" & JOIN(Parameters!MyParam.Label, "|") & "|"
    

    “包含香蕉”的表达是

    =("|" & JOIN(Parameters!MyParam.Label, "|") & "|").Contains("|Banana|")
    

    JOIN 只是将所有选定的参数标签连接在一起,使用管道符号| 作为分隔符。然后我在开头和结尾添加一个|,以便可以搜索|searchterm|。这可以避免错误,例如,如果您在参数列表中有“Pineapple”和“apple”并搜索“apple”,即使只选择了“pineapple”,它也会显示为真。通过搜索“|苹果|”我们避免这种情况。

    获得连接结果后,我们就可以使用 VB 函数 .Contains() 搜索我们想要的内容。

    如果我运行报告并选择所有值,我会得到这个

    如果我只选择苹果和果汁,我会得到这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      相关资源
      最近更新 更多