|
|
|
Плоский отчет в reporting Services на основе процедуры или функции
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Помогите пожалуйста! Есть плоский отчет на основе большого с множеством параметров и операторов IN. Понятное дело что когда мы указываем в запросе такую конструкцию - where column1 in @parameter и затем выбираем несколько значений параметра SQL сам каким то образом "генерирует" такую конструкцию - where column1 in ('param_value1','param_value2','param_value3') теперь я хочу вместо запроса использовать при формировании отчета либо процедуру либо функцию. но возникает проблема при передаче в процедуру множественных значений параметра. Может кто то сталкивался с данной ситуацией? Или тут вобще нет решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2011, 15:56 |
|
||
|
Плоский отчет в reporting Services на основе процедуры или функции
|
|||
|---|---|---|---|
|
#18+
Почитайте вот это. Полезно. Reporting тут вообще ни при чем. Вам в форум по MS SQL Server. С вопросом вроде: "Передаю в процедуру параметр типа 'val1,val2,val3'. Как заставить процедуру вернуть результат запроса select * from tbl where id in (val1,val2,val3)?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2011, 16:27 |
|
||
|
Плоский отчет в reporting Services на основе процедуры или функции
|
|||
|---|---|---|---|
|
#18+
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, [какой-то другой разделитель]) и уже его передавать в хранимую процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2011, 01:40 |
|
||
|
|

start [/forum/topic.php?fid=31&fpage=54&tid=1534885]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 136ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...