我有一个分层矩阵,并从这个表格中得到一个相应的图表。
let
t0 = Table.FromRows(
{
{"2020-01-01", "1", "10", 10},
{"2020-01-02", "1", "10", 3},
{"2020-01-01", "1", "11", 8},
{"2020-01-02", "1", "11", 15},
{"2020-01-01", "2", "20", 5},
{"2020-01-02", "2", "20", 9},
{"2020-01-01", "2", "21", 13},
{"2020-01-02", "2", "21", 12}
},
{"day", "cat", "subcat", "amount"}
),
t1 = Table.TransformColumnTypes(t0, {{"amount", Int64.Type}})
in
t1
我可以通过选择类别作为图例,让页面开始显示每个类别的图表,这是我想要的。
现在我希望当我点击矩阵中的类别线时,图表会动态地显示该类别的子类别线。这是否可行,或者是否有其他方法可以达到同样的效果?
我不知道是否可以在可视化内做这样的钻取,但如果你有来自切片机或其他可视化的过滤,你可以让它工作。
首先,创建一个新的独立表格,用于在x轴上使用,该表有两个 cat
和 subcat
:
CatSubcat = UNION ( VALUES ( t1[cat] ), VALUES ( t1[subcat] ) )
那我们就需要一个相应的措施来配合它,以便在以下方面进行切换 cat
和 subcat
:
Measure =
IF (
HASONEVALUE ( t1[cat] ),
CALCULATE ( SUM ( t1[amount] ), t1[subcat] IN VALUES ( CatSubcat[cat] ) ),
CALCULATE ( SUM ( t1[amount] ), t1[cat] IN VALUES ( CatSubcat[cat] ) )
)
如果什么都不过滤,它应该是这样的。
如果你用左边的矩阵进行过滤(或者用左边的切片机进行过滤)。t1[cat]
),你会得到这个。
对于两个以上的层次,这 相关职位 可能有用。