19.02.2011, 15:57 | #1 |
Участник
|
Пустой multivalue параметр в отчете
Всем привет!
Уже долго не могу решить проблему. Мне нужно выводить в отчет контакты которые содержатся в определенных маркетинговых списках или вообще все контакты(т.е. те контакты которые входят в маркетинговый списки и которые не входят ни в один маркетинговый список). Для этого я использую multivalue параметр который заполняю данными из дополнительного датасета, получающего маркетинговые списки, в которых содержатся контакты. Загвоздка в том, что multivalue параметр не может быть null. А мне это необходимо для того, чтобы можно было выводить в отчет все контакты, а не только входящие в опр. маркетинговые списки. Как можно обойти это ограничение? Заранее спасибо! |
|
19.02.2011, 22:09 | #2 |
Moderator
|
Добавьте в свой параметр пункт "Все" и обрабатывайте его выбор соответствующим образом.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
20.02.2011, 20:19 | #3 |
Участник
|
Как добавить в параметр пункт "Все значения" понятно. А вот как потом обрабатывать? Можете описать?
|
|
21.02.2011, 09:22 | #4 |
Moderator
|
Например, для этого можно использовать конструкции Transact SQL - формировать запрос в процессе выполнения, на основании анализа параметров. А вообще было бы проще понять "как" если бы я знал "что" вы делаете.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
21.02.2011, 10:27 | #5 |
Участник
|
У меня есть параметр @list типа String, значения которого я получаю из запроса, для которого сделан отдельный датасет. Вот текст запроса в датасете:
Select '00000000-0000-0000-0000-000000000000', 'Все значения' Union select listid ,listname from dbo.FilteredList where membertype = @EntityType -- дополнительный параметр Основной Датасет вызывает хранимую процедуру (кастомную), в которую передает список параметров и в том числе @list. Так вот в процедуре мне надо как-то обработать условие вхождения в @list значения '00000000-0000-0000-0000-000000000000'. Если содержится, то искать все записи определенного @EntityType, если нет, то только те, которые содержатся в маркетинговых списках в @list. Если что-то не понятно, я готов пояснить более подробно или выслать rdl-файл. |
|
21.02.2011, 10:51 | #6 |
Moderator
|
Ну тогда можно проверить есть ли параметр "Все" в @list при инструкции IN. И если есть, то выполнить запрос 1, в противном случае запрос 2.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 21.02.2011 в 10:59. |
|
21.02.2011, 14:09 | #7 |
Участник
|
Вроде получилось. Спасибо!
|
|
Теги |
multivalue, null, отчеты, параметры |
|
|