如何找到对象中的特定值?
How can I find a specific value in an object?
我有一个参数,它是一个对象并包含一些值:
key
Value
0
Apple
1
Juice
2
Banana
所以如果我Parameters!MyParam.Value(0)
结果是Apple
,Parameters!MyParam.Value(1)
结果是Juice
,等等
我想做的是查看我的对象是否包含像 Banana
和 return true
这样的值,如果有的话。
可能吗?我没有在网上找到任何东西。我发现最接近的是 inStr
但它只适用于字符串...
这里有几点要指出...
在 SSRS 中,参数由值和标签组成。您描述为键的内容就是值,您描述为值的内容就是标签。
您可以使用参数引用参数的标签属性!MyParam.Label
从你的问题中不清楚,但我假设你想搜索你的参数以查看是否已 selected 了特定值。如果是这样,那么您可以这样做...
对于这个例子,我手动添加了参数 values/labels,但您可以根据需要添加参数。
接下来,出于演示目的,我向报告添加了一些标签和字段,如下所示。
selected参数的表达式是
="|" & JOIN(Parameters!MyParam.Label, "|") & "|"
'contains banana'表达式为
=("|" & JOIN(Parameters!MyParam.Label, "|") & "|").Contains("|Banana|")
JOIN 只是将所有 selected 参数标签连接在一起,使用管道符号 |
作为分隔符。然后我在开头和结尾添加 |
,这样就可以搜索 |searchterm|
。这可以避免错误,例如,如果您在参数列表中有“Pineapple”和“apple”并搜索“apple”,即使只有“pineapple”被 selected,它也会显示 true。通过搜索“|苹果|”我们避免这种情况。
一旦我们有了连接结果,我们就可以使用 VB 函数 .Contains()
来搜索我们想要的东西。
如果我 运行 报告和 select 所有值我得到这个
如果我 select 只有苹果和果汁,我会得到这个
我有一个参数,它是一个对象并包含一些值:
key | Value |
---|---|
0 | Apple |
1 | Juice |
2 | Banana |
所以如果我Parameters!MyParam.Value(0)
结果是Apple
,Parameters!MyParam.Value(1)
结果是Juice
,等等
我想做的是查看我的对象是否包含像 Banana
和 return true
这样的值,如果有的话。
可能吗?我没有在网上找到任何东西。我发现最接近的是 inStr
但它只适用于字符串...
这里有几点要指出...
在 SSRS 中,参数由值和标签组成。您描述为键的内容就是值,您描述为值的内容就是标签。
您可以使用参数引用参数的标签属性!MyParam.Label
从你的问题中不清楚,但我假设你想搜索你的参数以查看是否已 selected 了特定值。如果是这样,那么您可以这样做...
对于这个例子,我手动添加了参数 values/labels,但您可以根据需要添加参数。
接下来,出于演示目的,我向报告添加了一些标签和字段,如下所示。
selected参数的表达式是
="|" & JOIN(Parameters!MyParam.Label, "|") & "|"
'contains banana'表达式为
=("|" & JOIN(Parameters!MyParam.Label, "|") & "|").Contains("|Banana|")
JOIN 只是将所有 selected 参数标签连接在一起,使用管道符号 |
作为分隔符。然后我在开头和结尾添加 |
,这样就可以搜索 |searchterm|
。这可以避免错误,例如,如果您在参数列表中有“Pineapple”和“apple”并搜索“apple”,即使只有“pineapple”被 selected,它也会显示 true。通过搜索“|苹果|”我们避免这种情况。
一旦我们有了连接结果,我们就可以使用 VB 函数 .Contains()
来搜索我们想要的东西。
如果我 运行 报告和 select 所有值我得到这个
如果我 select 只有苹果和果汁,我会得到这个