Я хочу настроить панель мониторинга с тремя перекрестными фильтрами.
Желаемый результат: выбор одного месяца должен отфильтровать выбранный месяц и сохранить фильтр по двум другим измерениям (все типы проектов и владельцы),Если вы выберете один из двух фильтров, вам не понадобятся все элементы, выбранные вручную из третьего фильтра.
Будем весьма благодарны за любые идеи по достижению желаемого результата или дальнейших действий.
Я попытался установить следующее условие «фильтра» на Vega-Lite, но не работает так, как я ожидал.
Vega-Lite:
"transform": [
{
"filter": {
"selection": {
"and": [
"pTypeSelection",
"monthSelection",
"tltSelection"
]
}
}
}
]
Начальное состояние
Это панель управления до того, как что-либо будет выбрано.
Выбор одногоМесяц должен фильтроваться всеми типами проектов и владельцами.
Выбор только месяца
Выбор месяцев ничего не показывает, поскольку условие "и" не выполняется.«Или» не делает то, что я хочу (то есть «и» на основе перекрестной фильтрации).
Выбор месяца и типа проекта
Выбор типов проектовничего не показывать, пока ...
Выбор из всех 3
Я выбираю что-то из всех трех фильтров, и в этот момент выполняется условие "и".
Ожидаемые результаты
Так должно быть, если выбран только месяц
Это автоматически сгенерированное выражение фильтра.Я пытался изменить его, чтобы достичь своей цели, но безрезультатно.
Vega:
"type": "filter",
"expr": "!(length(data(\"pTypeSelection_store\")) || length(data(\"monthSelection_store\")) || length(data(\"tltSelection_store\"))) || ((vlSelectionTest(\"pTypeSelection_store\", datum)) && (vlSelectionTest(\"monthSelection_store\", datum)) && (vlSelectionTest(\"tltSelection_store\", datum)))"
Изменить: Вот пример с использованием 2 фильтров: пример