Vega-Lite中的多重交叉过滤

时间:2019-01-21 17:49:41

标签: vega-lite

我想设置一个带有三个交叉过滤器的仪表板。

所需结果:选择一个月应该过滤选定的月份,并按其他两个维度(所有项目类型和所有者)保留过滤器。如果您从两个过滤器中进行选择,则不需要从第三个过滤器中手动选择所有项目。

对于实现预期结果或下一步行动的任何想法将不胜感激。

我已经尝试在Vega-Lite上设置以下“过滤器”条件,但行为不符合我的预期。

Vega-Lite:

  "transform": [
                    {
                        "filter": {
                            "selection": {
                                "and": [
                                        "pTypeSelection",
                                        "monthSelection",
                                        "tltSelection"
                                ]
                            }
                        }
                    }
                ]

Start State

这是选择任何内容之前的仪表板。

选择一个月应该被所有项目类型和所有者过滤。

Selecting Only month

选择月份不会显示任何内容,因为不满足“和”条件。 “或”不执行我想要的操作(这是基于“和”的交叉过滤)。

Selecting month and project type

选择项目类型直到……都不会显示任何内容。

Selecting from all 3

我从所有三个过滤器中选择一个,此时满足“和”条件。

Expected Results

如果只选择一个月,这就是它的行为

这是自动生成的过滤器表达式。我试图对其进行修改以实现我的目标无济于事。

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个过滤器的示例:example

0 个答案:

没有答案