进行数据分析时,每个分析维度并不总是独立的,比如省份是一个维度,城市也是一个维度,而这两个维度之间是有逻辑关系的,那么在进行切片分析时,我们希望能达到动态联动的效果。
在PowerBI中,只要维度表的数据有关系并建立了层次结构的,其实是可以自动实现联动的效果的,比如有个“省市表”如下,
分别利用[省份]和[城市]生成两个切片器,效果如下,
两个切片器是不是联动起来了呢?
如果维度表还有更细分的层次,三个切片器也是可以联动的,比如上面的表再加上一个辖区的维度,
同样可以联动起来,
上面的表中各个字段之间是有逻辑关系的,如果没有关系的字段,是否可以实现联动的效果呢?
假如还有个产品表,
我们想要的效果是,当筛选地址时,其他切片器出现省市的选项,而筛选产品时,出现产品类别和产品名称的选项。首先我们需要构建一个层级表,把省市表和产品表整合到一起,使用DAX新建表,
分析指标 =
VAR table1 =
SELECTCOLUMNS(
ADDCOLUMNS('省市',"一级指标","地点"),
"一级指标",[一级指标],
"二级指标",[省份],
"三级指标",[城市])
VAR table2 =
SELECTCOLUMNS(
ADDCOLUMNS('产品',"一级指标","产品"),
"一级指标",[一级指标],
"二级指标",[产品类别],
"三级指标",[产品名称])
RETURN UNION(table1,table2)
这样一个新的分析指标表就建好了,
效果如下,
同样也实现了动态联动的效果。
关于上面的联动切片器,还有两个小细节可以优化一下。
1,不同的维度显示在一个切片器中,会显得不协调,比如,
为了避免出现这种情况,可以设置一级指标的切片器强制单选,这也是PowerBI的最新功能,
这样二级和三级指标就不会出现混乱的情况,
2,下级指标的切片器选择后,导致上级指标切片器选项消失,
解决的办法是通过编辑交互(PowerBI技巧:编辑交互),设置为上级指标的切片器筛选下级,而下级指标的切片器对上级不起作用,这样无论下级怎么选择都不影响上级指标切片器的选项了。
通过以上的示例可以看出,字段本身是否存在逻辑上的关系并不影响生成一组联动的切片器,关键是构建一个有层次关系的维度表,这在进行动态分析时十分有用,并且把几个维度整合在一起,可以减少切片器的数量,节省报表空间。
/推荐阅读/
01 连接表的几种DAX代码,一次全掌握!
02 利用这个控件,轻松制作带播放轴的条形图
03 用PowerBI进行帕累托分析有多简单?