2010-02-24 2 views
1

У меня есть серверные отчеты (* .rdl), которые возвращают данные из представления SQL Server 2008. Пользователь хотел бы иметь возможность динамически добавлять фильтрацию, например.Службы отчетов: динамически добавлять фильтры в отчет сервера

  • показать мне только данные с Язык = английский,
    или
  • показать мне только данные для данной организационной единицы

или тому подобное. Количество критериев фильтрации достаточно мало (четыре или пять).

Но как это сделать? У меня есть RDL на сервере, с базовым запросом (SELECT (fields) FROM MyView WHERE ......) внутри набора данных отчета - как я могу динамически добавлять фильтрацию к этому?

Я надеялся, что смогу определить фильтры набора данных, но они, похоже, должны быть на месте, когда RDL тоже будет отображаться (например, они станут частью самого отчета RDL).

Возможные значения для каждого критерия слишком многочисленны, что я мог бы просто добавить их в список и определить IN (list of values) вид фильтра .....

Любые идеи ?? Мысли? Я что-то упускаю?


Решения: Я решил его с помощью опции фильтрации по набору данных отчета, который я поставил в фильтр «фиктивного» в начале, который сообщает обратно все, а потом обновлять его фильтровать по фактическому столбца и значения, которые пользователь указывает в пользовательском интерфейсе. До сих пор хорошо работает!

ответ

1

Это не динамический (в том смысле, что пользователь должен будет повторно запускать отчет каждый раз), но если у вас есть только четыре или пять параметров со многими значениями, простым решением было бы добавить параметр множественного выбора к отчету для каждого из них, по умолчанию «Все».

Есть ли причина, по которой пользователь не может повторно запускать отчет с разными параметрами?

Или я неправильно понял, что вы подразумеваете под динамикой?

+0

@ Ed: для одного или двух из них это будет работать - у них есть только несколько возможных значений. Некоторые, однако, имеют потенциально сотни или тысячи возможных значений, поэтому это не реально. –

+0

@marc_s: Вас беспокоит размер списков значений из-за удобства использования, производительности или чего-то еще? Если юзабилити является проблемой, можно ли подклассифицировать списки в иерархии? –

+0

@Ed: оба, действительно - список с четырьмя или пятью записями в порядке, но если это сотни или больше, это не очень удобно (для пользователя) и не очень полезно для производительности .... –

0

если я понимаю ваш вопрос:

вы можете использовать параметры для фильтрации. если у вас есть приложение, использующее элемент управления ReportViewer для показа отчета, передайте эти условия в качестве параметра в свой отчет. вы можете управлять видимостью или фильтрацией данных по этим параметрам.

Смежные вопросы