powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Плоский отчет в reporting Services на основе процедуры или функции
3 сообщений из 3, страница 1 из 1
Плоский отчет в reporting Services на основе процедуры или функции
    #37329189
vovaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Помогите пожалуйста!

Есть плоский отчет на основе большого с множеством параметров и операторов IN. Понятное дело что когда мы указываем в запросе такую конструкцию - where column1 in @parameter и затем выбираем несколько значений параметра SQL сам каким то образом "генерирует" такую конструкцию - where column1 in ('param_value1','param_value2','param_value3')

теперь я хочу вместо запроса использовать при формировании отчета либо процедуру либо функцию. но возникает проблема при передаче в процедуру множественных значений параметра. Может кто то сталкивался с данной ситуацией? Или тут вобще нет решения?
...
Рейтинг: 0 / 0
Плоский отчет в reporting Services на основе процедуры или функции
    #37329271
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте вот это. Полезно.
Reporting тут вообще ни при чем. Вам в форум по MS SQL Server. С вопросом вроде: "Передаю в процедуру параметр типа 'val1,val2,val3'. Как заставить процедуру вернуть результат запроса select * from tbl where id in (val1,val2,val3)?"
...
Рейтинг: 0 / 0
Плоский отчет в reporting Services на основе процедуры или функции
    #37329846
Andrews25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovaa,

при передаче в процедуру параметры со множеством значений (multi-value) передаются как строки с разделителем
например, если параметр имеет тип int
то список получается таким '0,2,3,4,5,6,7,8'
соответствующий параметр в хранимой процедуре должен иметь тип (n)varchar(...)
потом этот список можно запихнуть во фразу IN через динамический SQL
или написать функцию, которая распарсит строку и на выходе даст временную таблицу с полями ПОЗИЦИЯ, ЗНАЧЕНИЕ
AFAIK, изменить разделитель (запятую) в этой длинной строке невозможно
В случае, если multi-value параметр в отчете имеет тип text и внутри могут попадаться запятые, предлагается добавить еще один (зависимый от первого) параметр с типом text - но уже не multi value
и определить его default value как = JOIN (Parameters!stringparameter.value, [какой-то другой разделитель])
и уже его передавать в хранимую процедуру
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Плоский отчет в reporting Services на основе процедуры или функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]