2014-09-19 4 views
2

В SSRS 2008R2, как можно разрешить пользователю вводить несколько значений вместо выбора?Разрешить пользователю вводить несколько значений вместо выбора

Отчет должен содержать несколько фильтров, и все они являются необязательными, когда пользователь может выбрать один или любой параметр для фильтрации. Код транзакции и код категории - это параметры, где это необходимо, чтобы пользователь вводил значения или выбирал.

Параметры, как показано ниже с даты: To Date: Сделка #: Категория Код:

Использование нескольких параметров в значения, где доступные значения основаны на запросе, не является решением, поскольку результат будет иметь очень длинный список и пользователь не смогут вводить его. Таким образом, нам нужно, чтобы пользователь вводил значения, подлежащие фильтрации.

transaction # - целое число, и пользователь может ввести один или несколько или просто сохранить его пустым, чтобы получить результат на основе других используемых фильтров.

ответ

0

Единственное решение, интегрированное в SSRS, которое я нашел до сих пор, заключается в том, чтобы судиться с однозначными текстовыми параметрами, которые анализируются базовой базой данных.

многозначные параметры заменяются однозначными параметрами, ваши пользователи могут заполнять их по своему усмотрению, вам нужно разделить/проверить эти входные значения в коде отчета или на уровне sql.
это очень быстро реализуется и интегрируется в SSRS, но имеет некоторый (imho) огромный недостаток: проверка ввода и обработка ошибок.

Если внешнее решение является вариантом, вы можете пойти с программой просмотра отчетов asp.net.
Использование веб-скриптов, ajax и т. Д. Интерфейс ввода может быть очень удобным для пользователя, сохраняя SSRS в качестве бэкэнд для выполнения тяжелой работы.

+0

при установке параметра как мульти значение, мы не можем ввести что-нибудь !!! что здесь отсутствует? – kardo

+0

см. Мое редактирование. вы должны использовать одиночные значения параметров для каждого параметра независимо от типа данных. громоздким, неуклюжим для обработки и требует ввода санитарии и валидации, но не требует внешних инструментов. – Paolo

1

Ниже будет работать со встроенным запросом:

Для начала необходимо настроить параметр с типом данных Text и Разрешить несколько значений.

parameter setup

Поскольку параметр должен быть необязательным, установите значение по умолчанию (например, все) и обновлять ИНЕКЕ в запросе, чтобы получить результаты, основанные на этом параметре:

... 
WHERE ('All' IN (@Customer) OR CustomerNumber IN (@Customer)) 
... 

сейчас при запуске отчета вы можете выделить значение по умолчанию в выпадающем списке:

highlight All in the dropdown and start typing

и начните вводить в значения для поиска на (с помощью Enter между каждой позиции):

example of typed in values

+0

Это УДИВИТЕЛЬНО !!!!!!! –

+0

Как бы вы показывали учетную запись # в блоке отчета? – BuddingProgrammer

+0

@BuddingProgrammer Если вы имеете в виду отображение номеров учетных записей, введенных в параметр, вы можете использовать выражение типа «Join (Parameters! Customer.Value,« | »)' в текстовом поле в теле отчета – stubaker