Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Reporting Services Express 2008R2 - параметры / 5 сообщений из 5, страница 1 из 1
08.12.2010, 09:23
    #37001143
r12
r12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services Express 2008R2 - параметры
Есть отчет, где выбирается дата и все работники подразделения (т.е. выбор по подразделению). Я хочу добавить туда еще и выбор по фамилии – но что бы это все работало по отдельности…
Т.е. если ввести шифр подразделения и фамилию – то все работает, а если только фамилию или только шифр подразделения – то не работает
Не работает:
• Пишет, что поля параметры должны быть все заполнены
• В настройках параметров ставлю галку разрешить пустое значение и разрешить ноль – но при этом отчет не выводит ничего (если вписать только один параметр)
Как можно сделать, что бы поля было 2, а вводить (по выбору) только какой ни будь один параметр или два при желании.
Думаю это надо либо в самом коде SQL править (но как я не знаю), либо править в настройках Report Builder (тоже не знаю где)
Т.е. в SQL коде пишу
Код: plaintext
1.
WHERE     (DIVISION.NAME = @шифр) and EMP.LASTNAME =@фамилия 
and(CONVERT(date, EVENTS.EVENTIME) >= @дата_С) and (CONVERT(date, EVENTS.EVENTIME) <= @дата_ПО)
Так мне кажется и не должно работать т.к. есть AND (выбор либо того либо того параметра)
А если в SQL коде написать только
Код: plaintext
WHERE    (CONVERT(date, EVENTS.EVENTIME) >= @дата_С) and (CONVERT(date, EVENTS.EVENTIME) <= @дата_ПО)
А фильтрацию задать в Report Builder в настройках фильтры, почему то тоже не работает…..
Я уже даже не знаю, как это можно сделать…..
...
Рейтинг: 0 / 0
08.12.2010, 11:54
    #37001577
buven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services Express 2008R2 - параметры
Код: plaintext
1.
2.
3.
4.
5.
6.
WHERE     
( DIVISION.NAME = @шифр and EMP.LASTNAME =@фамилия) 

or 

(CONVERT(date, EVENTS.EVENTIME)>=@дата_С and CONVERT(date, EVENTS.EVENTIME) <=@дата_ПО)

в этом случае сработает одна из пар параметров при условии, что вторая пара неопределена.
Можно еще union сделать.
...
Рейтинг: 0 / 0
15.12.2010, 15:22
    #37016194
Саня Павлов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services Express 2008R2 - параметры
Для параметров шифр и фамилия добавляешь запись "Все"(например через union), а в тексте запроса отрабатываешь следующим образом
Код: plaintext
1.
WHERE     (DIVISION.NAME = @шифр or @шифр = 'Все') and (EMP.LASTNAME =@фамилия or  @фамилия = 'Все') 
and(CONVERT(date, EVENTS.EVENTIME) >= @дата_С) and (CONVERT(date, EVENTS.EVENTIME) <= @дата_ПО)
...
Рейтинг: 0 / 0
17.12.2010, 14:55
    #37020889
r12
r12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services Express 2008R2 - параметры
Саня ПавловДля параметров шифр и фамилия добавляешь запись "Все"(например через union), а в тексте запроса отрабатываешь следующим образом
Код: plaintext
1.
WHERE     (DIVISION.NAME = @шифр or @шифр = 'Все') and (EMP.LASTNAME =@фамилия or  @фамилия = 'Все') 
and(CONVERT(date, EVENTS.EVENTIME) >= @дата_С) and (CONVERT(date, EVENTS.EVENTIME) <= @дата_ПО)


Спасибо большое, очень помогло
Саня ПавловДля параметров шифр и фамилия добавляешь запись "Все"(например через union) - этого я ничего не делал, просто исправил запрос и все заработало...
...
Рейтинг: 0 / 0
20.12.2010, 16:03
    #37025010
Саня Павлов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services Express 2008R2 - параметры
Возможно список параметров заведен жестко. Если же список формируется на основе запроса - то через union добавляем значение "Все"
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Reporting Services Express 2008R2 - параметры / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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