PowerBI DAX函数:ISINSCOPE与ISFILTERED详解及层级占比计算
需积分: 18 84 浏览量
更新于2024-06-30
1
收藏 6.45MB PDF 举报
在PowerBI DAX函数的深入学习教程【第三卷】中,本章节主要介绍了两个关键函数:ISINSCOPE和ISFILTERED,以及它们在数据透视分析中的应用。首先,ISFILTERED函数用于判断指定表或列是否被筛选,当满足被筛选条件时返回True。而ISINSCOPE函数则更进一步,它检查一个列是否处于层级结构中并且被筛选,同样在满足这些条件时返回True。通过在13.xlsx演示文件中使用这两个函数,例如:
- 度量值ISINSCOPE('商品表'[商品名称]):表示商品名称是否被筛选且位于层级结构内。
- 度量值ISINSCOPE('商品表'[产品类别]):检查产品类别是否同样符合筛选和层级条件。
作者还展示了如何通过SWITCH函数将这两个检查结果合并,以便在单一度量中同时显示商品名称和产品类别的层级占比情况。例如:
```powerbi
=SWITCH(TRUE(),
ISINSCOPE('商品表'[商品名称]), "True",
ISINSCOPE('商品表'[产品类别]), "True",
"False")
```
接着,讲解了ALLSELECTED函数,这是一个特殊的“占比专用函数”,用于处理内外部筛选的逻辑。当外部筛选(如商品名称)应用时,ALLSELECTED会将内部筛选(如所有商品)移除,这样可以计算出未受内部筛选影响的基数。例如,计算总销售与筛选商品名称后总销售的比率:
- 总销售(sum('销售表'[销售]))
- 分母(CALCULATE([总销售], ALLSELECTED('商品表'[商品名称])))
- 通过占比=DIVIDE([总销售], [分母])得到筛选后的商品名称销售占比。
最后,章节详细探讨了如何利用ISINSCOPE和ALLSELECTED函数来计算层级占比,例如:
- 度量值占比层级=SWITCH中,如果商品名称满足层级条件,则占比为总销售除以ALLSELECTED后的产品销售,否则继续检查产品类别。
这部分内容展示了在实际数据分析中灵活运用DAX函数处理层级关系和筛选条件的重要性,帮助用户深入了解PowerBI中数据模型的动态变化对分析结果的影响。
2020-04-27 上传
2022-10-27 上传
2022-10-27 上传
2022-10-27 上传
2022-02-17 上传
115 浏览量
点击了解资源详情
Bingo_Excel
- 粉丝: 9
- 资源: 38
最新资源
- Oracle10g完全卸载
- C++标准库(难得的PDF版本)
- Java Struts教程.pdf
- 基于分层采样粒子滤波的麦克风阵列说话人跟踪方法.pdf
- 基于迭代中心差分卡尔曼滤波的说话人跟踪方法.pdf
- 工业化硅微机械电容式麦克风的设计与性能计算.pdf
- seo教程(精).pdf
- Delphi7下IntraWeb应用开发详解
- VStation 硬件辅助验证平台在高性能CPU 功能验证中的应用
- 园区网互联与网站建设试题
- 麦肯锡的七步成诗法 - 项目实施方法
- SOA 之实践经验分享
- “园区网互联及网站建设”技能大赛方案
- JDBC与Java数据库编程.pdf
- Premier Press - Focus On Sdl
- C#完全手册,C#的基础教程