81

谁能告诉我如何在 SSRS 报告中显示我的多值参数的所有选定值。给出parameter.value选项时会出错。

4

4 回答 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 回答