Мельница данных   (23.09.2017)
Фильтрация данных в таблицах

Фильтрация данных (отображение только тех данных, которые удовлетворяют некоторому условию) осуществляется по значениям, отображаемым в колонках, при помощи строки фильтра. Строка фильтра расположена ниже заголовка колонки. Фильтрация данных может осуществляться двумя способами:

  • путем выбора значения из выпадающего списка, доступного при нажатии кнопки Кнопка выпадающего списка в строке фильтра
  • путем записи условия фильтрации в строке фильтра

При нажатии кнопки Кнопка выпадающего списка в строке фильтра отображается выпадающий список значений, которые могут быть выбраны. Перечень отображаемых значений зависит от типа данных, отображаемых в колонке. В первой строке списка расположен пункт "(Все)". При выборе этого пункта фильтрация данных по этой колонке не осуществляется. При выборе одного из доступных значений в таблице данных будут отображены только те объекты, для которых значение свойства, отображаемого в данной колонке, равно выбранному. После осуществления фильтрации в строке фильтра будет отображено выбранное значение. Выбор значений можно осуществить в нескольких колонках. В этом случае условия отбора по каждой колонке будут объединены логическим "И".

Фильтрация данных путем выбора значения в строке фильтра

На рисунке показано, как осуществить фильтрацию данных по значению "эскимо" в колонке "Вид упаковки". После выполнения фильтрации эта таблица данных будет выглядеть следующим образом:

Отображение данных в отфильтрованном виде

В таблице данных на рисунке отображены записи только о тех сортах мороженого, которые продаются в виде эскимо. Значение "эскимо" отображено в строке фильтра в колонке "Вид упаковки".

Для фильтрации данных по более сложному условию можно воспользоваться вторым способом - записью условия фильтрации в строке фильтра. Условие фильтрации записывается по следующим правилам:

  1. Строка разделяется на части посредством системного разделителя (системный разделитель устанавливается в настройках операционной системы Windows). Обычно - точка с запятой, ";"
  2. Каждая часть строки интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
  3. При интерпретации каждой части проверяются следующие условия:
    Часть строкиПравило отбора объектов
    *
    Будут отобраны только те объекты, у которых значение в колонке не является пустым (установлено).
    !*
    Будут отобраны только те объекты, у которых значение в колонке является пустым (не установлено).
    начинается с символов '<=', '<', '>=', '>'
    Будут отобраны только те объекты, у которых значение в колонке удовлетворяет условию.
    включает в себя символы '*' и/или '?'
    Будут отобраны только те объекты, у которых значение в колонке удовлетворяет шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов.
    начинается с символа '!'
    Будут отобраны только те объекты, у которых значение в колонке не удовлетворяет условию, переданному оставшейся частью строки (знак '!' означает отрицание).
    представляет собой строку в апострофах (одиночных кавычках)
    Содержание строки не анализируется по приведенным выше правилам. Будут отобраны только те объекты, у которых значение данного свойства соответствует строке, заключенной в апострофы.
    любая другая строка
    Будут отобраны только те объекты, у которых значение данного свойства соответствует введенной строке (строки чувствительны к регистру).
  4. Условия, указанные в разных колонках, объединяются логическим "И"

После ввода в строке фильтр требуемого условия необходимо нажать клавишу Enter.

Фильтрация данных по сложному условию

В таблице данных "Все продажи" на рисунке отобраны только те записи, для которых верно следующее: Продажи осуществлены в регионе "Москва" или "Тверская область"; при этом наименование проданного сорта мороженого начинается с "Б"; при этом число продаж данного сорта больше 100.

Сделать заключение о том, что отображаемые в таблице данные отфильтрованы, можно по наличию в строке фильтра записи отличной от "(Все)". Снять фильтрацию данных можно одним из двух способов:

  • выбрать в строке фильтра из выпадающего списка пункт "(Все)"
  • удалить все символы, записанные в строке фильтра и нажать клавишу Enter