前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >函数周期表丨信息丨值丨ISINSCOPE

函数周期表丨信息丨值丨ISINSCOPE

原创
作者头像
PowerBI丨白茶
修改2021-09-03 11:13:30
4990
修改2021-09-03 11:13:30
举报
文章被收录于专栏:PowerBI

ISINSCOPE函数

ISINSCOPE函数隶属于“信息”类函数,适用于层次结构中的计算。

用途:适用于计算分层占比。

语法

代码语言:txt
复制
DAX=
ISINSCOPE(<列>)

参数

列:只能是现有列,不能是表达式。

返回结果

TRUE或者FALSE

例子

模拟数据:

这是白茶随机模拟的一份数据,一份销售明细,一份产品表。

将其导入到PowerBI中,模型关系如下:

例子1:对比ISFILTERED函数

代码1:

代码语言:txt
复制
ISFILTERED =
ISFILTERED ( '产品表'[商品分类] )

代码2:

代码语言:txt
复制
ISINSCOPE =
ISINSCOPE ( '产品表'[商品分类] )

结果:

从这个图中,我们看不出来什么区别,点击切片器。

可以看得出来,当我们进行筛选时,ISFILTERED函数的总计栏显示TRUE,而ISINSCOPE的结果依然是FALSE。

ISFILTERED函数与ISINSCOPE函数非常的类似,但是后者相对于前者多一层运算判断。 前者在上图中受到筛选器影响,结果产生变动;而后者考虑总计栏未出现商品分类,因此结果不受影响。 这是二者之间的区别,因此计算层级占比的时候,我们可以使用后者。

例子2:计算层级占比

有时候,我们需要知道每个分类下单个产品的占比,例如下图。

但是每个类别的占比其实我们也是需要知道的,那么这种情况就可以使用ISINSCOPE函数进行计算。

输入代码:

代码语言:txt
复制
ISINSCOPE例子 =
SWITCH (
    TRUE (),
    ISINSCOPE ( '销售明细'[商品名称] ), DIVIDE ( [销售数量], CALCULATE ( [销售数量], ALLSELECTED ( '销售明细'[商品名称] ) ) ),
    IF (
        ISINSCOPE ( '产品表'[商品分类] ),
        DIVIDE ( [销售数量], CALCULATE ( [销售数量], ALLSELECTED ( '产品表'[商品分类] ) ) ),
        1
    )
)

结果如下:

解释: 首先是利用ISINSCOPE进行第一层级的判断,如果是靠枕、腰带这类的具体商品,则进行占比计算; 然后对层级进行判断,如果是床品、男装这种类别的层级,则进行类别占比计算; 最后,白茶偷懒了,因为考虑到无论怎么筛选,我们所要呈现的总计栏都是100%,因此直接懒得计算了,输入1就OK了。

传送门丨《利用CALCULATE函数求各类占比》

小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球PowerBI丨需求圈)

这里是白茶,一个PowerBI的初学者。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档