0

У меня есть этот отчет, который получает данные из хранимой процедуры. Мне нужно передать CustomerIDs из раскрывающегося списка с несколькими выборами в мой отчет.SSRS Передача параметра множественного выбора для отчета

Мой StoredProcedure выглядит следующим образом:

@CustomerIds varchar(500) 

select * 
    FROM [Application].[ApplicationVersion] APPVERS 
WHERE APPVERS.CustomerId IN (@CustomerIds) 
  • В своем докладе я есть параметр «CustomerIds», тип данных установлено значение Integer (я пробовал с «TEXT», но Бесполезный» t). Параметр установлен на «Разрешить несколько значений»

  • В отчете, где мой набор данных определен, у меня есть @CustomerIds, которые определены следующим образом: "= SPLIT (JOIN (Parameters! CustomerIds.Value,", "), »,„)“(я попробовал это только SPLIT, с РЕГИСТРИРУЙТЕСЬ только и он не работал)

Может кто-нибудь мне помочь?

ответ

4

Как обычно, я использую фильтр.

  • Удалить предложение where из вашего SQL-запроса.
  • Щелкните правой кнопкой мыши набор данных и выберите «Свойства»> «Фильтры».
  • Добавить.
  • Выберите поле, которое вы хотите отфильтровать, в раскрывающемся списке. В вашем случае «CustomerId»
  • Выберите «В» как оператор.
  • Нажмите «fx» для значения, чтобы создать выражение, щелкните параметры, а затем выберите свой параметр из списка. Удостоверьтесь, что вы удаляете «(0)» с конца, так как это занимает первое выбранное значение.

enter image description here

+0

Я попробовал это, и я получаю «Невозможно сравнить данные типы System.Int32 и System.String. Пожалуйста, проверьте тип данных, возвращаемый FilterExpression» –

+0

Проверьте свойства параметров, являются этикетки и Параметр param правильный? Это по существу означает, что ваши значения выражения и значения имеют разные типы. – KidCode

+0

Решено, параметр отчета был установлен на «Текст». Изменено значение Integer. –