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