将图表从类别动态更改为子类别
Dynamicaly change chart from category to subcategory
我有一个分层矩阵,其中有相应的图表 table:
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
通过选择类别作为图例,我可以让页面开始显示每个类别的线条的图表,这正是我想要的
现在我希望当我单击矩阵中的类别线时,图表会动态显示该类别的子类别线。是否有可能或是否有另一种方法导致相同的结果?
我不确定是否可以像这样在视觉对象中进行向下钻取,但如果您从切片器或其他视觉对象进行过滤,就可以使它起作用。
首先,创建一个新的独立 table 以在同时具有 cat
和 subcat
的 x 轴上使用:
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]
上的切片器),您会得到:
对于超过两个级别,此 可能有用。
我有一个分层矩阵,其中有相应的图表 table:
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
通过选择类别作为图例,我可以让页面开始显示每个类别的线条的图表,这正是我想要的
现在我希望当我单击矩阵中的类别线时,图表会动态显示该类别的子类别线。是否有可能或是否有另一种方法导致相同的结果?
我不确定是否可以像这样在视觉对象中进行向下钻取,但如果您从切片器或其他视觉对象进行过滤,就可以使它起作用。
首先,创建一个新的独立 table 以在同时具有 cat
和 subcat
的 x 轴上使用:
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]
上的切片器),您会得到:
对于超过两个级别,此