Подтвердить что ты не робот

Параметр отображения (многозначный) в отчете

Может ли кто-нибудь сказать мне, как отобразить все выбранное значение моего параметра multi value в отчете SSRS. При предоставлении опции parameter.value она дает ошибку.

4b9b3361

Ответ 1

Вы можете использовать функцию "Join", чтобы создать одну строку из массива меток, например:

=Join(Parameters!Product.Label, ",")

Ответ 2

= Join (Параметры! Product.Label, vbcrfl) для новой строки

Ответ 3

Я не знал о функции соединения - Ницца! Я написал функцию, которую я разместил в разделе кода (свойства отчета → вкладка кода:

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  

Ответ 4

Надеюсь, кто-то еще найдет это полезным:

Использование 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".