工坊实验室 | ISINSCOPE 函数的两个应用场景
微软官方文档中关于ISINSCOPE函数的介绍:
当指定的列是级别层次结构中的级别时,返回True
参考网址:
https://docs.microsoft.com/zh-cn/dax/isinscope-function-dax
对于官方文档中的解释,如果友友们有兴趣可以研究下,我们今天通过两个应用场景来了解一下ISINSCOPE函数。
01数据准备
准备如下数据:
以上数据为每种产品(Product)各个颜色系列(Color)的销售额。
02场景1 – 识别总计行
定义度量值销售额
Sales =
SUM ( Sale[SalesAmount])
定义度量值平均销售额
AverageSales =
AVERAGE ( Sale[SalesAmount])
在表格中按颜色系列呈现以上度量值
如果希望自定义某个度量值在总计行的呈现结果,如总计不显示等,可以使用ISINSCOPE函数,例如以下的表达式定义总计行不显示
AveSales_adjust =
IF ( ISINSCOPE( 'Sale'[Color] ), AVERAGE( Sale[SalesAmount] ), BLANK () )
结果如下:
03场景2 – 类别内计算排名
如果我们想得到销售前三的颜色系列,可以通过视觉级筛选器中的TopN筛选实现,
下面我们来看一下,如果将产品字段添加到矩阵中会发生什么。
以上结果并非按照每个产品计算产品类别内部排名前三的颜色系列,而是每个产品计算总销量排名前三的产品系列,我们可以通过ISINSCOPE函数实现在产品类别内容计算排名,如下:
SalesRankInscope =
IF (
ISINSCOPE ( Sale[Product] ),//在同一产品类别内部
RANKX (
CALCULATETABLE( VALUES ( Sale[Color]), ALLSELECTED ( Sale[Color]) ),//读取产品类别内部所有颜色
[Sales]
)
)
在报表视图呈现结果如下:
04总结
今天我们一起了解了ISINSCOPE函数的两个应用场景:识别总计行和计算某一类别内部的子类别的排名,此函数理解起来有一定难度,宗琪没有对此函数形成系统的理解,希望大家可以通过今天的分享了解到此函数的两种应用场景,友友们如有更深入地见解,欢迎留言交流哦~
-
PowerPivot工坊原创文章,转载请注明出处!
如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。
长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~
Power Pivot工坊
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)