使用 DAX 控制切片器显示


小伙伴们好啊,今天我们介绍DAX在切片器中的运用。

首先,一起来看下我们的数据模型:

file

Product/Date/Customer三个维度表分别和Sales建立一对多关系。

实际工作场景中,我们经常需要把不同维度表中的切片器放置在报表中。比如这里我们将Brand(Product表)和CountryRegion(Customer表)用作切片器。

file

当我们在Brand中选择某一个品牌时,我们希望知道该Brand都在哪些地区产生了销售,未产生销售的区域不显示。

事实上,不论我们选择哪个Brand,CountryRegion始终处于未筛选的状态。

原因我们在介绍CROSSFILRER函数中有过详细讲解,一端的筛选只能传向多端,而不能通过多端传向一端。

当然,大家依然可以把Customer表和Sales表改成双向筛选。Power BI在更新中添加了度量值对切片器的支持,推荐大家用下面的方式实现跨表切片器的联动效果。

首先准备一个基础度量:

Sales Amount = SUMX ( Sales, Sales[Quantity] * Sales[Net Price] )

然后选中CountryRegio切片器后将该度量拖拽至筛选器面板,并设置Sales Amont

0即可。
file

一起来看下效果图:

当然,通过DAX控制切片器的显示多种多样,作为扩展,我们分享另一个有意思的案例:

当我们选择某一个CountryRegion的时候,始终显示该国家地区购买金额前5的Brand。

首先写一个排名的度量:

RankBrand = RANKX( ALLSELECTED( 'Product'[Brand] ) , [Sales Amount] )

接下来按照上面介绍的方法,设置RankBrand<=5即可。

通过度量值我们可以灵活控制筛选器显示的内容,请小伙伴发挥自己的想象力,试试其他更有意思的玩法。

今天的分享就到这里,小伙伴们下次见。

  • PowerPivot工坊原创文章,转载请注明出处!

    如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊