2013-04-17 5 views
2

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

Есть ли различие, и если есть, то, что является лучшим решением:

Создать фильтр непосредственно на наборе данных, или на табликсе? Оба они дадут мне тот же результат, но что правильно или лучше?

ответ

3

Не существует определенного ответа на этот вопрос, который может применяться ко всем ситуациям.

В вашем случае, поскольку оба объекта Tablix нуждаются в одном и том же фильтре, я бы применил его на уровне набора данных; таким образом, вы не дублируете код/​​логику в отчете.

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

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

4

Если у вас есть сомнения, всегда старайтесь как можно ближе к источнику данных. Идеальным является фильтрация объектов в представлении SQL Server или хранимой процедуре, поскольку это можно оптимизировать; следующая лучшая вещь - фильтровать в наборе данных SSRS.

Фильтрация в элементе tablix должна быть последней инстанцией и будет включать отчеты, выполняемые значительно медленнее.

Там: это мой penn'orth!

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