График-фильтр, настроенный для компонента проекта, при нажатии на элемент этого компонента фильтрует связанные с этим компонентом другие компоненты проекта, находящиеся на том же слое. Фильтрация выполняется по значениям нажимаемых элементов. В график-фильтр пересылается неагрегируемое значение элемента: например, значение колонки, вынесенной в поле "Серия" виджета.
График-фильтр можно использовать с компонентами проекта:
виджет, в т. ч. таблица, сводная таблица и Яндекс Карта - таблица должна быть соответствующим образом настроена для использования с график-фильтром (см. разделы по настройке таблицы, сводной таблицы и Яндекс Карты);
HTML-компонент - код компонента должен содержать встроенную функцию htmlFilter(), которая обеспечивает взаимодействие с график-фильтром (см. раздел по настройке HTML-компонента).
Для настройки график-фильтра выполните следующие действия.
Откройте проект на редактирование.
Наведите курсор на компонент проекта – виджет, таблицу или HTML-редактор, по которому требуется применять график-фильтр, и во всплывающей панели действий нажмите на кнопку связывания "
". После нажатия на кнопку связывания фон компонента окрашивается в цвет
, а граница компонента отображается в виде пунктирной рамки.
Далее доступно два варианта создания график-фильтра.
Для добавления к связи компонентов, к которым требуется применять график-фильтр, нажимайте на эти компоненты. По нажатию на связываемый компонент его фон окрашивается в цвет
, а граница компонента отображается в виде пунктирной рамки.
На плавающей панели редактирования нажмите на кнопку быстрого создания связи по колонке
. Откроется панель связей с выпадающим списком колонок датасета.
Выберите колонку, по которой одна диаграмма должна фильтровать другую (или несколько других диаграмм), и нажмите "Применить".
|
В результате один компонент будет фильтровать другой (другие).
|
После выбора всех компонентов нажмите на кнопку
на плавающей панели редактирования. Цифра показывает количество добавляемых к связи компонентов. По нажатию на кнопку открывается окно настройки связывания (см. рисунок ниже).
В левой части окна отображаются компоненты, размещенные на слое проекта. Из них отмеченные для связи на предыдущем шаге маркируются чекбоксами. Вы можете убрать или поставить отметки при необходимости.
В правой части окна отображаются настройки связи для каждого отмеченного компонента.
|
—
Настройте связь для каждого отмеченного компонента.
Для график-фильтра по виджету – в блоке настройки связи компонента, к которому требуется применять график-фильтр, для всех уровней детализации виджета, по которому требуется применять график-фильтр, отображаются поля "Колонка", где в выпадающем списке отображаются все колонки датасета компонента, к которому требуется применять график-фильтр (см. рисунок выше). Для каждого уровня детализации виджета выберите ту колонку датасета, по которой следует применять фильтр по переданному из виджета значению. Если передаваемое значение находится в назначенной колонке датасета, данные на компоненте фильтруются до найденного значения.
Пример: в виджете, по которому требуется применять график-фильтр, есть четыре уровня детализации. Уровень детализации "Федеральный округ" содержит значения – названия федеральных округов. В настройках связи компонента, к которому требуется применять график-фильтр, для уровня детализации "Федеральный округ" выбираем колонку датасета "Федеральный округ", так как эта колонка датасета также содержит значения – названия федеральных округов (для остальных уровней детализации выбираем колонки по такой же логике). Тогда при нажатии в виджете, по которому требуется применять график-фильтр, элемента со значением "Центральный федеральный округ" данные отфильтруются в компоненте, к которому требуется применять график-фильтр, до значения "Центральный федеральный округ", если это значение будет найдено в назначенной колонке датасета этого компонента (см. рисунок ниже).
|
—
Для график-фильтра по простой таблице – в блоке настройки связи компонента, к которому требуется применять график-фильтр, для одной настроенной колонки простой таблицы (колонка фильтрации в настройках визуализации таблицы), по которой требуется применять график-фильтр, отображается поле "Колонка", где в выпадающем списке отображаются все колонки датасета компонента, к которому требуется применять график-фильтр (см. рисунок ниже). Выберите ту колонку датасета, по которой следует применять фильтр по переданному из таблицы значению. Если передаваемое значение находится в назначенной колонке датасета, данные на компоненте фильтруются до найденного значения.
|
Пример: в простой таблице, по которой будет применяться график-фильтр, есть колонка "Федеральный округ". Она содержит значения – названия федеральных округов. В настройках связи компонента, к которому требуется применять график-фильтр, выбираем колонку датасета "Федеральный округ", так как эта колонка также содержит значения – названия федеральных округов. Тогда при нажатии в таблице, по которой требуется применять график-фильтр, элемента со значением "Центральный федеральный округ" данные отфильтруются в компоненте, к которому требуется применять график-фильтр, до значения "Центральный федеральный округ", если это значение будет найдено в назначенной колонке датасета этого компонента (см. рисунок ниже).
|
—
Для график-фильтра по сводной таблице – в блоке настройки связи компонента, к которому требуется применять график-фильтр, для всех полей сводной таблицы, по которой требуется применять график-фильтр, отображаются поля "Колонка", где в выпадающем списке отображаются все колонки датасета компонента, к которому будет применяться график-фильтр (см. рисунок ниже). Для каждого поля таблицы с включенным переключателем "Связь" выберите ту колонку датасета, по которой следует применять график-фильтр по переданному из таблицы значению. Если передаваемое значение находится в назначенной колонке датасета, данные на компоненте фильтруются до найденного значения. Когда переключатель "Связь" выключен, поле таблицы, к которому относится переключатель, НЕ участвует в график-фильтре и значение по нему НЕ передается.
|
Пример: в сводной таблице, по которой будет применяться график-фильтр, есть пять полей: "Федеральный округ", "Субъект", "Муниципальное образование", "Населенный пункт", "Год". Поле "Федеральный округ" содержит значения – названия федеральных округов. В настройках связи компонента, к которому требуется применять график-фильтр, для поля "Федеральный округ" выбираем колонку датасета "Федеральный округ", так как эта колонка также содержит значения – названия федеральных округов. Для оставшихся полей выключаем переключатель "Связь". Тогда при нажатии в таблице, по которой требуется применять график-фильтр, ячейки строки со значением "Центральный федеральный округ" данные отфильтруются в компоненте, к которому требуется применять график-фильтр, до значения "Центральный федеральный округ", если это значение будет найдено в назначенной колонке датасета этого компонента (см. рисунок ниже). Значения полей "Субъект" и "Год" не будут переданы, так как для них выключен переключатель "Связь".
|
—
Для график-фильтра по HTML-компоненту – в блоке настройки связи компонента, к которому требуется применять график-фильтр, отображается поле "Колонка", где в выпадающем списке отображаются все колонки датасета компонента, к которому требуется применять график-фильтр (см. рисунок ниже). Выберите ту колонку датасета, по которой следует применять фильтр по всем переданным из HTML-компонента значениям. Если передаваемое значение находится в назначенной колонке датасета, данные на компоненте фильтруются до найденного значения.
|
Пример: в HTML-компоненте, по которому будет применяться график-фильтр, есть элементы с названиями федеральных округов. В настройках связи компонента, к которому требуется применять график-фильтр, выбираем колонку датасета "Федеральный округ", так как эта колонка также содержит значения – названия федеральных округов. Тогда при нажатии в HTML-компоненте, по которому требуется применять график-фильтр, элемента со значением "Центральный федеральный округ" данные отфильтруются в компоненте, к которому требуется применять график-фильтр, до значения "Центральный федеральный округ", если это значение будет найдено в назначенной колонке датасета.
Для график-фильтра по виджету "Санкей" – в блоке настройки связи компонента, по которому требуется применять график-фильтр, отображаются поля "Колонка" по количеству колонок, вынесенных в поле "Категория" виджета, т.е. формирующих его узлы. В выпадающем списке каждого поля отображаются все колонки датасета компонента, к которому требуется применять график-фильтр (см. рисунок ниже). Из них нужно выбрать колонки, совпадающие с колонками, вынесенных в поле "Категория".
|
Фильтрация по узлам виджета "Санкей" осуществляется по следующему принципу:
Если выбранные узлы относятся к одной и той же категории (например, категория "ФО"):
значения формируют одно множество, передаваемое по логике ИЛИ (OR).
Если узлы относятся к разным категориям (например, "ФО" и "Год переписи"):
фильтрация осуществляется по принципу И (AND), то есть условия фильтрации комбинируются между собой.
Для фильтрации выбраны узлы одной категории (ФО)
Для фильтрации выбраны узлы разных категорий (ФО и Год переписи) |
—
f. Для фильтрации по виджету "Тепловая карта" – в блоке настройки связи компонента, по которому требуется применять график-фильтр, отображаются два поля "Колонка", соответствующих оси X и оси Y. В выпадающем списке каждого поля отображаются все колонки датасета компонента, к которому требуется применять график-фильтр (см. рисунок ниже). Из них нужно выбрать колонки, совпадающие с колонками, вынесенными в поле "Ось X" (первое поле), "Ось Y" (второе поле) или в оба поля тепловой карты. Во всех трех случаях фильтрация будет осуществляться одинаково:
|
|
|
4. После завершения настройки связей нужно нажать на кнопку "Создать". Окно настройки связи закроется и отобразится окно проекта в режиме редактирования. В правом нижнем углу окна появится нотификация "Связь успешно создана".
Для сохранения настроек связывания виджетов для последующего применения график-фильтра необходимо нажать на кнопку "Сохранить", расположенную в верхней части окна в режиме редактирования проекта.
После нажатия на кнопку сохранения режим редактирования проекта закрывается, проект отображается в режиме просмотра.
График-фильтр используется в режиме просмотра проекта.
Для применения график-фильтра нажмите на элемент компонента – графический элемент виджета, строку таблицы, ячейку сводной таблицы, элемент HTML-компонента, точку или полигон Яндекс Карты, по которому настроен график-фильтр. По нажатию на элемент данные в связанных компонентах на слое фильтруются в соответствии с переданным значением элемента.
|
При нажатии на другой элемент компонента появляется окно выбора действия:
|
Доступны два варианта действий:
Добавить к текущему график-фильтру. При выборе данного действия фильтрация будет осуществлена по двум элементам фильтрующего компонента. Количество добавляемых к график-фильтру элементов ограничено количеством элементов в фильтрующем компоненте.
Заменить текущий график-фильтр. При выборе данного действия фильтрация будет осуществлена по выбранному элементу фильтрующего компонента, при этом предыдущая фильтрация будет сброшена полностью, вне зависимости от того, сколько элементов добавлено к текущему.
|
|
|
При совместной фильтрации одного и того же визуального элемента двумя (или более) другими визуальными элементами, условия фильтрации от разных компонентов объединяются между собой по логике "И". Таким образом, при последовательном выборе условий фильтрации в компонентах, по которым производится фильтрация, к компоненту, к которому применяется фильтрация, в фоновом режиме применяется действие "Добавить к текущему график-фильтру". Условия одного компонента добавляются к условиям другого компонента, сужая диапазон данных.
|
|
|
Это накладывает следующие ограничения на совместное применение двух график-фильтров:
фильтрующие компоненты и фильтруемый компонент должны быть построены на одном датасете, либо на разных, но содержащих в себе одинаковые колонки, выносимые при построении компонентов;
фильтрующие компоненты и фильтруемый компонент должны иметь одинаковый показатель, в противном случае отобразится заглушка "Нет данных", В примере таким показателем является "Объем производства, т";
выбираемое значение второго фильтрующего компонента должно иметь соответствие в датасете выбранному элементу первого фильтрующего компонента, в противном случае фильтрация не будет применена.
В каждом из двух график-фильтров можно добавлять значения и заменять значения, важно лишь соблюдать соответствие колонок. Добавление и замена работают по следующей логике:
|
|
В зависимости от наличия настроенных на элементе проекта детализации и/или график-фильтра нажатие на серию виджета/строку таблицы/HTML-элемент может приводить к следующему:
В случае, если на элементе проекта настроен график-фильтр, но не настроена детализация:
если на элементе проекта еще не был применен график-фильтр, то при нажатии на какую-либо серию виджета/строку таблицы/HTML-элемент сразу применяется график-фильтр по данному элементу;
если на элементе проекта уже был применен график-фильтр по какой-либо серии виджета/строке таблицы, то при нажатии на другую серию виджета/строку таблицы/часть HTML-элемента появляется окно выбора дальнейшего действия, связанного с применением график-фильтра:
|
если на виджете уже был применен график-фильтр по какой-либо серии виджета/строке таблицы/части HTML-элемента, то при нажатии на эту же серию виджета/строку таблицы/часть HTML-элемента происходит сброс график-фильтра.
2. В случае, если на элементе проекта настроена детализация, но не настроен график-фильтр, то при нажатии на серию виджета/строку таблицы отображается окно для применения детализации. Для перехода необходимо нажать на соответствующую ссылку в окне детализации.
|
3. Если на элементе проекта не настроены ни детализация, ни график-фильтр, то при нажатии на серию виджета/строку таблицы/часть HTML-элемента ничего не происходит, никакое окно не появляется, график-фильтр и детализация при нажатии на какую-либо серию виджета/строку таблицы/часть HTML-элемента не применяются.
4. В случае, если на виджете настроены детализация и график-фильтр, взаимодействие может происходить только для серии виджета/строки таблицы, так как детализация по HTML-элементу не настраивается:
если на виджете/таблице еще не был применен график-фильтр, то при нажатии на серию виджета/строку таблицы должно появляться окно для выбора действия (применить детализацию или график-фильтр):
|
если на виджете/таблице уже был применен график-фильтр по какой-либо серии виджета/строке таблицы, то при нажатии на другую серию виджета/строку таблицы появляется окно выбора дальнейшего действия, связанного с применением график-фильтра: либо добавить новую серию виджета/строку таблицы к уже существующей фильтрации, либо применить фильтрацию по новой серии виджета/строке таблицы (при этом происходит сброс существующей фильтрации);
если на виджете/таблице уже был применен график-фильтр по какой-либо серии виджета/строке таблицы, то при нажатии на эту же серию виджета/строку таблицы появляется окно для выбора действия (применить детализацию или отменить график-фильтр): при выборе варианта "Отменить график-фильтр" происходит сброс график-фильтра, при выборе варианта "Выполнить детализацию" применяется детализация.