谁能告诉我如何在 SSRS 报告中显示我的多值参数的所有选定值。给出parameter.value
选项时会出错。
suni
问问题
150522 次
4 回答
155
您可以使用“加入”函数从标签数组中创建单个字符串,如下所示:
=Join(Parameters!Product.Label, ",")
于 2008-11-18T22:21:42.517 回答
12
=Join(Parameters!Product.Label, vbcrfl) 换行
于 2009-03-09T11:55:58.243 回答
6
我不知道加入功能 - 很好!我写了一个放在代码部分的函数(报告属性->代码选项卡:
Public Function ShowParmValues(ByVal parm as Parameter) as string
Dim s as String
For i as integer = 0 to parm.Count-1
s &= CStr(parm.value(i)) & IIF( i < parm.Count-1, ", ","")
Next
Return s
End Function
于 2009-03-09T20:18:03.997 回答
0
希望其他人觉得这很有用:
使用 Join 是使用多值参数的最佳方式。但是如果你想要一个高效的“全选”呢?如果有 100s+,那么查询将非常低效。
要解决此问题,而不是按原样使用 SQL 查询,请将其更改为使用表达式(单击右上角的 Fx 按钮),然后构建类似这样的查询(需要语音标记):
= "Select * from tProducts Where 1 = 1 "
IIF(Parameters!ProductID.Value(0)=-1,Nothing," And ProductID In (" & Join(Parameters!ProductID.Value,"','") & ")")
在您的参数中执行以下操作:
SELECT -1 As ProductID, 'All' as ProductName Union All
Select
tProducts.ProductID,tProducts.ProductName
FROM
tProducts
通过将查询构建为表达式意味着您可以提高 SQL 语句的效率,但也可以解决 SQL Server 在处理“In”语句中的值时遇到的困难。
于 2018-12-21T09:35:47.007 回答