Как выбрать все значения параметров в SSRS?

У меня есть параметры @Year и @Month в моем отчете, где месяц присвоил значения, такие как январь (метка): 1 (значения), февраль: 2, … My datased загружается хранимой процедурой, которая имеет фильтр введите описание изображения здесь

WHERE (cal.CalendarYear = @Year) AND (cal.MonthId = @Month) 

Когда я проверяю «Разрешить многозначные значения» в параметрах, он возвращает ошибку

Ошибка преобразования типа данных nvarchar в int.

Как выбрать все значения (по умолчанию)?

Если вам не нужно использовать Stored Proc, вы можете легко решить проблему.

Скопируйте SQL из сохраненного proc (исключая определение PROC, только основной код) и вставьте его в качестве запроса к набору данных.

Измените ваш = @Year и = @Month на IN(@Year) и IN(@Month)

Это все, что есть, не соединяться, не раскалываться или что-то еще.

SSRS будет правильно вводить значения параметров как значения, разделенные запятыми.

Когда вы выбираете несколько значений, вы передаете параметр процедуре в качестве выражения с помощью функции Join ().

введите описание изображения здесь

Затем в вашей процедуре измените свой параметр месяца на тип nvarchar (max).

Создайте временную таблицу и используйте функцию разделения строки t-sql (в Google это так много разновидностей, но если вы застряли, мы можем ее найти), чтобы разделить строку на таблицу. Затем внутреннее соединение с вашим столом в вашей процедуре, чтобы фильтровать выбор.

Ваше сообщение об ошибке «nvarchar into int» указывает на несоответствие типа данных между вашим параметром SSRS и MonthId . Проверьте свойства параметра отчета -> Общие -> Тип данных для первой и вашей схемы таблиц для последнего и убедитесь, что они либо являются текстовыми, либо varchar или оба целыми.

Разрешение вашего запроса на обработку нескольких значений параметров должно быть намного проще, чем использование объединений и разделов. Просто используйте IN вместо = , и поместите свое имя параметра внутри набора скобок.

 AND (cal.MonthId IN (@Month)) 

Чтобы установить параметры по умолчанию для вашего параметра, перейдите в Свойства параметра отчета -> Значения по умолчанию. Выберите параметр « Specify values и добавьте номера 1-12 в виде отдельных записей значений.

  • Ошибка разрешений SSRS 2016
  • Построить json с переменным ключом / переменной json_modify 2-й параметр
  • SQL Server 2016: CREATE ASSEMBLY для сборки 'System.ServiceModel' не удалось
  • Преобразование таблицы XML в SQL Server
  • Неверный подсчет числа недель в неделю для 1-го января с использованием datepart
  • Запрос быстрый, но когда в VIEW, он медленный - из-за ROW_NUMBER
  • SQL Server 2016 GROUP BY + ИМЕЮТ только разные записи JOIN
  • DENSE_RANK () без дублирования
  • Совокупный логический И / ИЛИ для столбцов с типом «бит»
  • Как преобразовать функцию AVG () в десятичный в SQL SERVER
  • TSQL вычисляет значение строки на основе значения в предыдущей строке в том же столбце
  • Interesting Posts

    ExecuteNonQuery не работает в C #

    SQL-копирование записи без указания списка столбцов; игнорирование Identity

    Могу ли я проверить с помощью инструкции T-sql, если имя – таблица / view / storedProcedure / trigger …;

    SQL DELETE – максимальное количество строк

    Есть ли способ использовать SqlBulkCopy без преобразования данных в DataTable?

    Почему спецификация идентификации дает ложные результаты SQL Server (asp net)

    Как я могу группировать результаты в день в этом запросе с помощью SQL Server?

    Первичный ключ и уникальная обработка отдельных разделов | asp .net c #

    Запрос таблицы SQL с разными значениями в одном столбце с одинаковым идентификатором

    Как проверить, что файл доступен в команде Windows или в командной строке?

    SQL Server 2005: динамическое добавление параметров в хранимую процедуру

    C # WPF MultiClient One Database (приложение для личных сообщений и задач)

    Перепишите представление UNION как динамическое представление

    Преобразование формата YYYYMM в YYYY-MM-DD в SQL Server

    Обновление в отношениях «многие-ко-многим»

    Давайте будем гением компьютера.