Основой усовершенствованных фильтров служит выражение, которое может использоваться для создания пользовательского фильтра на уровне набора данных или карточки, или применяться в качестве части рабочего процесса data engineering. Усовершенствованным фильтрам доступны те же операторы (например, +, ÷, > и <>) и функции, что и вычисленным полям.
Примеры
Расширенные фильтры используются, когда запрос является сложным, или некоторая информация неизвестна или требует вычисления. Ниже приводятся примеры использования усовершенствованных фильтров:
- У вас имеется набор данных о школах по всем штатам Америки, но вы хотели бы выполнить анализ по школам в графстве Даллас, штат Техас. Обычный фильтр для графства Даллас возвращает школы в Алабаме, Айове и Техасе. Усовершенствованный фильтр, используя выражение County="Dallas" AND State="Texas", применит фильтр к набору данных так, что будут возвращены только школы графства Даллас штата Техас.
- У вас есть набор данных с местоположениями магазинов, доходами и расходами, но вы хотите видеть только убыточные магазины. Усовершенствованный фильтр, используя выражение Revenue<Expenses, применит фильтр к набору данных так, что будут возвращены только те магазины, в которых расходы выше доходов.
- Имеется набор данных с местоположениями гидрантов, датами и статусом их проверки за несколько лет, а вам необходимо видеть только проверки поврежденных гидрантов, прошедшие в 2018 и позднее. Расширенный фильтр, используя выражение InspectionDate>=DATE(2018,01,01)AND Status="Damaged", применит фильтр к набору данных так, что будут возвращены только оценки ущерба, выполненные после 1 января 2018 года.
Примечание:
Функция даты, например DATE(), DATEVALUE() или NOW(), должна применяться в выражении расширенного фильтра с использованием поля даты/времени. Дата, введенная как строковое значение (например, "01/01/2018" для 1 января 2018 года), не будет считываться и не приведет к результатам.
Применение усовершенствованных фильтров на уровне набора данных
Для применения усовершенствованного фильтра на уровне набора данных выполните следующие шаги:
- Выберите набор данных, к которому вы хотели бы применить фильтр на панели данных.
- Нажмите кнопку Опции набора данных рядом с соответствующим набором данных.
- В меню опций набора данных щелкните Усовершенствованный фильтр.
- Щелкнув внутри окна Выражение пользовательского фильтра, вы увидите доступные поля и функции и сможете начать написание своего выражения.
- В нижней части окна Выражение пользовательского фильтра наблюдайте зеленую метку , означающую, что выражение корректно.
Примечание:
В выражении должен присутствовать пригодный для фильтра условный оператор, такой как < , = или <> (например, Revenue-Expenses>100000).
- Щелкните Применить.
Выражение будет применено ко всему набору данных. Все карточки, которые были созданы с помощью этого набора данных, будут обновлены.
Применение усовершенствованных фильтров на уровне карточки
Для применения усовершенствованного фильтра на уровне карточек выполните следующие шаги:
- Создайте карту, диаграмму или таблицу с помощью набора данных, к которому вы хотели бы применить фильтр.
- Нажмите кнопку Фильтр карточки на панели инструментов соответствующей карточки.
- На панели Новый фильтр выберите Усовершенствованный.
- Щелкнув внутри окна Выражение пользовательского фильтра, вы увидите доступные поля и функции и сможете начать написание своего выражения.
- В нижней части окна Выражение пользовательского фильтра наблюдайте зеленую метку , означающую, что выражение корректно.
Примечание:
В выражении должен присутствовать пригодный для фильтра условный оператор, такой как < , = или <> (например, Revenue-Expenses>100000).
- Щелкните Применить.
Данное выражение было применено только к фильтруемой карточке. Другие карточки, использующие тот же набор данных, не изменились.
Примечание:
Активная кнопка Фильтр карточек показывает количество фильтров, примененных к карточке, включая расширенные фильтры. При создании расширенного фильтра для карточки итоговый набор данных также добавится к панели данных с тем же фильтром, что и на уровне набора данных. Если новые карточки создаются с использованием итогового набора данных, то все карточки будут ссылаться на фильтр набора данных в итоговом наборе данных, а фильтр карточки будет удален из исходной карточки. Поскольку исходная карточка также ссылается на итоговый набор данных, в отображаемых данных изменений не будет.
Удаление или обновление расширенного фильтра
Для обновления расширенного фильтра на уровне набора данных выполните следующие шаги:
- Нажмите кнопку Опции набора данных для набора данных, к которому применен расширенный фильтр.
- Нажмите Расширенный фильтр в меню опций набора данных.
- Вы можете сделать следующее:
- Измените выражение фильтра и нажмите Применить, чтобы обновить фильтр.
- Чтобы удалить фильтр, щелкните кнопку Удалить фильтр .
Для обновления расширенного фильтра на уровне карточки выполните следующие шаги:
- Нажмите активную кнопку Фильтр карточек .
- Щелкните фильтр, который хотите обновить.
- Вы можете сделать следующее:
- Измените значения фильтра и нажмите Применить, чтобы обновить фильтр.
- Чтобы удалить фильтр, щелкните кнопку Удалить фильтр .
Применить расширенный фильтр при помощи data engineering.
Примечание:
Data engineering доступно в Insights desktop. Все пользователи Insights in ArcGIS Online Insights in ArcGIS Enterprise получают доступ к Insights desktop. Более подробно см. Обзор ArcGIS Insights.
Data engineering в настоящий момент доступно в Предварительном просмотре.
Расширенные фильтры можно применять либо как инструмент импорта, либо как инструмент набора данных.
Инструмент Импорт
Расширенные фильтры и другие инструменты импорта, запускаемые при добавлении набора данных, применяются к выборке и выходному набору данных, но не добавляются в модель данных.
Выполните следующие шаги, чтобы применить расширенный фильтр инструмента импорта:
- Откройте окно Добавить на страницу одним из следующих способов:
- Создайте рабочую книгу данных. Окно Добавить на страницу появится, когда рабочая книга данных будет создана.
- Щелкните кнопку Добавить на страницу над панелью данных в имеющейся рабочей книге данных.
- Выберите набор данных для добавления в рабочую книгу данных.
- Нажмите кнопку Опции импорта .
- Выберите Фильтр набора данных из меню.
Появится окно Выбранные столбцы с предварительным просмотром данных.
- Щелкните Дополнительно.
- Введите и используйте меню Функция и Столбцы, чтобы написать выражение в поле Пользовательское выражение фильтра.
- В нижней части окна Выражение пользовательского фильтра наблюдайте зеленую метку , означающую, что выражение корректно.
Примечание:
В выражении должен присутствовать пригодный для фильтра условный оператор, такой как < , = или <> (например, Revenue-Expenses>100000).
- Щелкните Применить.
- Щелкните Готово.
Фильтр применится. Вы можете выбрать дополнительные наборы данных или нажать Добавить, чтобы добавить выбранные наборы данных в рабочую книгу.
Инструмент Набора данных
Расширенные фильтры, запускаемые как инструмент набора данных, автоматически добавляются в модель данных.
Выполните следующие шаги, чтобы применить расширенный фильтр инструмента набора данных:
- Откройте рабочую книгу данных в Insights desktop и добавьте данные, если это необходимо.
- На боковой панели щелкните кнопку Расширенный фильтр .
- Введите и используйте меню Функция и Столбцы, чтобы написать выражение в поле Пользовательское выражение фильтра.
Примечание:
Если рабочая книга данных содержит более одного набора данных, параметры ввода основаны на активной таблице.
- В нижней части окна Выражение пользовательского фильтра наблюдайте зеленую метку , означающую, что выражение корректно.
Примечание:
В выражении должен присутствовать пригодный для фильтра условный оператор, такой как < , = или <> (например, Revenue-Expenses>100000).
- Щелкните Применить.
Этот фильтр добавляется в модель данных. Предварительный просмотр данных обновляется, чтобы показать отфильтрованные данные.
Примеры выражений
В следующей таблице приведены примеры типов выражений, которые можно использовать в расширенных фильтрах:
Выражение | Описание |
---|---|
DATEDIF(date_field, NOW(), "D")<=28 | Фильтрует записи за последние 28 дней. |
number_field>AVG(number_field) | Фильтрует строки, где значение number_field больше среднего. |
number_field_1>number_field_2 | Фильтрует строки, где значение number_field_1 больше значения number_field_2. |
number_field<10 OR number_field>20 | Фильтрует данные так, чтобы средние значения (в данном случае числа от 10 до 20) не включались. |
string_field IS NOT NULL | Фильтрует данные так, чтобы включить только те строки, в которых поле содержит не null значения. |
Ограничения
Расширенные фильтры недоступны для некоторых удаленных векторных слоев. Если удаленный векторный слой не поддерживает расширенные фильтры, можно скопировать слой в рабочую книгу и применить расширенный фильтр к копии.
Расширенные выражения фильтра могут выглядеть некорректно при использовании смешанных символов языков с написанием справа налево и слева направо в рамках одного выражения. Например, если в выражении используются названия полей и на английском, и на арабском языках, то оно может отображаться некорректно. На результаты выражения не влияют смешанные символы с написанием слева направо и справа налево.