Поделиться через


Указание критериев для условий фильтра (построитель отчетов)

Критерий фильтра — это значение, с которым сравниваются значения поля или сущности, чтобы определить, должны ли данные содержаться в отчете. Допустим, необходимо отобразить данные только о продажах во Франции. Нужно будет создать условие фильтра, где поле «Страна» имеет значение «Франция». При запуске отчета значения поля «Страна» всех записей будут сравниваться со значением «Франция». Если значение поля «Страна» не равно «Франция», то запись не будет включена в отчет. В зависимости от структуры источника данных критерии могут быть заданы при помощи списков, текстовых полей, календарей и других способов.

Выбор условий из списка

Если используется оператор В списке, то все доступные значения поля или сущности в условии фильтра отображаются в списке. Чтобы выбрать условие из этого списка, поставьте флажок для каждого значения, которое нужно использовать в условии фильтра. Можно выбрать произвольное число условий фильтра. Размер предварительно заполненных списков может меняться в зависимости от числа элементов в сущности или поле и настроек по умолчанию источника данных.

Создание предварительно фильтрованных списков

В некоторых случаях невозможно использовать предварительно заполненные списки, так как число отображаемых элементов не позволяет нормально управлять этим списком. Предположим, что к условиям фильтра добавляется сущность «Заказы на продажу». В зависимости от базы данных для выбора могут быть доступны миллионы заказов на продажу. Выводить все заказы на продажу в список будет крайне неэффективно.

В таких ситуациях будет предложено создать собственный предварительно отфильтрованный список. Используя такой список, можно ограничить число элементов, выводимых в предварительно заполненном списке. Затем, как при работе с любым другим списком, можно выбрать элементы, которые должны быть добавлены к условию фильтра. Например, если сущность «Заказы на продажу» содержит слишком много элементов, предлагаемых для предварительно составленного списка, и нужно просмотреть заказы, упорядоченные по указанной дате, то можно отфильтровать список с помощью диалогового окна Список фильтров. Здесь указывается условие фильтра, позволяющее найти нужные заказы на продажу, которые затем добавляются в список Доступные данные. На этом этапе можно добавить все доступные данные в список Выбранные данные или выбрать определенные элементы. После нажатия кнопки OK все элементы из списка Выбранные данные будут отображены в предварительно заполненном списке выбора критериев, который появляется при нажатии стрелки вниз в диалоговом окне Фильтровать данных, позволяя выбрать критерии для добавления в условие фильтра.

При создании предварительно фильтрованного списка имейте в виду: вы не задаете критерии, а просто ограничиваете число доступных критериев для добавления в условие фильтра.

Использование относительного времени

Построитель отчетов поддерживает два типа относительного времени в фильтрах: относительные временные точки и относительные временные диапазоны. Относительные временные точки используются в качестве условия фильтра, когда данные фильтруются по заданному времени. Относительная временная точка указывается установкой соответствующих параметров внизу календаря, который появляется в области критериев фильтрации, когда добавляется поле даты или времени в область фильтрации, а также указываются параметры относительной временной точки. Также можно просто ввести нужный текст, например «сегодня». Заглавные и строчные буквы не различаются.

Относительные временные диапазоны задаются с помощью операторов сравнения и возвращают данные для диапазона времени. Дополнительные сведения см. в разделе Выбор оператора сравнения для условия фильтра (построитель отчетов).

Относительные временные точки

Поддерживаются следующие значения.

Имя Описание Пример

Сегодня

Возвращает данные за сегодняшнюю дату с полуночи (00:00:00).

Допустим, сегодня 15.10.2009. Возвращаются данные за весь день 15.10.2009.

Сейчас

Возвращает данные за текущую дату и время.

Допустим, сейчас 15.10.2009, 13:30. Возвращаются данные за 15.10.2009 в период с полуночи до 13:30:00.

Вчера

Возвращает данные за сегодняшнюю дату минус один день.

Если сегодня 15.10.2009, то возвращаются данные за 14.10.2009.

Завтра

Возвращает данные за сегодняшнюю дату плюс один день.

Если сегодня 15.10.2009, то возвращаются данные за 16.10.2009.

Первый день месяца

Возвращает данные за первый день текущего месяца, основываясь на текущей дате.

Допустим, сегодня 12.07.2007. Возвращаются данные за 01.07.2007.

Первый день квартала

Возвращает данные за первый день текущего квартала, основываясь на текущей дате.

Допустим, сегодня 12.07.2007. Это третий квартал года. Возвращаются данные за 01.07.2007.

Первый день года

Возвращает данные за первый день текущего года, основываясь на текущей дате.

Допустим, сегодня 12.07.2007. Возвращаются данные за 01.01.2007.

Последний день месяца

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

Допустим, сегодня 12.07.2007. Возвращаются данные за 31.07.2007.

Последний день квартала

Возвращает данные за последний день текущего квартала, основываясь на текущей дате.

Допустим, сегодня 12.07.2007. Это третий квартал года. Возвращаются данные за 30.09.2007.

Последний день года

Возвращает данные за последний день текущего года, основываясь на текущей дате.

Допустим, сегодня 12.07.2007. Возвращаются данные за 31.12.2007.

(n) дней назад

Возвращает данные за дату, которая была указанное число дней назад до текущего дня.

Допустим, сегодня 12.07.2007 и задано число дней равное пяти. Возвращаются данные за 08.07.2007.

(n) месяцев назад

Возвращает данные за дату, которая была указанное число месяцев назад до текущего.

Допустим, сегодня 12.07.2007 и задано число месяцев равное двум. Возвращаются данные за 12.05.2007.

(n) лет назад

Возвращает данные за день, предшествовавший сегодняшнему указанное число лет.

Допустим, сегодня 12.07.2007 и задано число лет равное трем. Возвращаются данные за 12.07.2004.

(n) дней от следующего дня

Возвращает данные за день, следующий за сегодняшним через указанное число дней.

Допустим, сегодня 15.08.2009 и задано число дней равное десяти. Возвращаются данные за 25.08.2009.

(n) месяцев от следующего дня

Возвращает данные за день, следующий за сегодняшним через указанное число месяцев.

Допустим, сегодня 03.04.2010 и указан период в 5 месяцев. Возвращаются данные за 03.04.2010.

(n) лет от года

Возвращает данные, начиная с текущего года плюс указанное число лет.

Допустим, сегодня 03.04.2010 и задано число лет равное двум. Возвращаются данные за 03.04.2012.

См. также

Задачи

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

Основные понятия

Работа с условием фильтра (построитель отчетов)

Другие ресурсы

Диалоговое окно «Фильтрация данных» (построитель отчетов)
Диалоговое окно «Список фильтров» (построитель отчетов)

Справка и поддержка

Получение помощи по SQL Server 2005