学习CALCULATE函数(二)修订版
之前呢,白茶分享了一些CALCULATE的心得,但是要知道我们在对数据进行分析的时候,往往是多条件参考的,比如说哪个区域、哪个时间点、哪个状态的销售的最好,这就很明显需要我们在计算的时候把这些选项算进去。
在纸上计算很容易,但是DAX中如何进行呢?
来,看下面的例子:
这是我们在上一期使用的示例文件,现在我添加了一个下面的维度表:
这样的话昨天我们的计算公式就有了很大的调整空间。
销售 =
VAR SQ =CALCULATE ( [数量], FILTER ( '表', [条件] = "N" ) ) //这里一样,可以替换成自己的数据
VAR HQ =CALCULATE ( [数量], FILTER ( '表', [条件] = "M" ) )
RETURNSQ - HQ
这是我们昨天编写的代码,用途是区分开销售与退货的情况,但是现在我想计算包含产品类别的销售与退货,该如何处理呢?
编写如下代码:
首先是基础的销售聚合代码。
数量=
SUM('表'[列])//这里我替换成了示例文件
接下来就开始编写我们的代码:
双条件筛选 =
VAR SA =CALCULATE ( [数量], FILTER ( '表', [筛选项] = "M" && [筛选项] = "L" ) ) //这里的话自己调整数据
VAR SQ =CALCULATE ( [数量], FILTER ( '表', [筛选项] = "N" && [筛选项] = "L" ) )
RETURNSA - SQ
如下图:
计算一张销售表中,分类属于手机的销售与退货情况,其结果如下:
结果一目了然,这里解释一下代码含义:
CALCULATE([求和项],这一部分是最终结果的表达式,也就是说无论后面条件怎么样,都是为了这个求和项准备的。
FILTER(‘表’,是为了筛选符合我们要求的有效值。
[条件项]=“M”,是为了选出符合我们要求的有效值。
&&,这是微软的标准连接字符,表示“并且”的意思,可以与AND替换。
怎么样,是不是这么拆分着说好理解多了?
来,继续我们的例题,还没结束。我现在想知道手机的销售有哪些停产了?这个代码如何进行?来,继续:
首先在模型关系中确立二者的联系。
编写如下代码:
双条件三条件 =
VAR SA =CALCULATE ([聚合项],FILTER ( '表1', [条件项1] = "M" && [条件项1] = "L" ),FILTER ( '表2', [条件项2] = "S" ))
VAR SQ =CALCULATE ([聚合项],FILTER ( '表1', [条件项1] = "N" && [条件项1] = "L" ),FILTER ( '表2', [条件项2] = "S" ))
RETURNSA - SQ
如图:
结果如下:
是不是达到我们的要求了?
说一下原理,原则上CALCULATE并没有限制筛选条件的数量,理论上是无限的。
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球[PowerBI丨需求圈])
这里是白茶,一个PowerBI的初学者。
下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。
学习CALCULATE函数(二)修订版相关推荐
- 空间连接时计算总和_学习CALCULATE函数(六)丨帕累托之累计求和
(写在前面的话:非常感谢@韭菜大神和@冬神的指点,万分感谢.) 哎,说归说,还是需要继续学习CALCULATE函数,也是蛮无奈的.最近白茶在研究帕累托分析法,本期分享一下帕累托ABC分析法的基础--累 ...
- 学习CALCULATE函数(六)丨帕累托之累计求和
(写在前面的话:非常感谢 @韭菜大神和 @冬神的指点,万分感谢.) 哎,说归说,还是需要继续学习CALCULATE函数,也是蛮无奈的.最近白茶在研究帕累托分析法,本期分享一下帕累托ABC分析法的基础- ...
- 学习CALCULATE函数(四)修订版
生活就像一盒巧克力,你永远不知道下一颗是什么味道. > --<阿甘正传> ...
- 学习CALCULATE函数(五)修订版
哈喽,小伙伴们,头几次白茶分享了单条件聚合.多条件聚合.各类占比.以点带面聚合,本期呢,咱们继续研究CALCULATE函数. 白茶最近思考了一下,就是CALCULATE函数,为什么它是最灵活的,也是使 ...
- 学习CALCULATE函数(一)修订版
有位大佬曾经告诉过我,如果你深入理解了CALCULATE,那么你就相当于理解了DAX函数的基础,因为它是DAX函数中最灵活多变,也是适应性最强的函数之一. CALCULATE的语法结构 DAX= CA ...
- 黑马程序员——c语言学习心得——函数传递二维数组
黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化. 变量 ...
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...
- HiveQL学习笔记(二):Hive基础语法与常用函数
本系列是本人对Hive的学习进行一个整理,主要包括以下内容: 1.HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介 2.HiveQL学习笔记(二):Hive基础语法与常用函数 ...
- 计算机基础学习日志(二)sq函数
计算机基础学习日志(二)sq函数 代码功能 代脉内容 运行结果 结果分析 代码功能 模拟计算机内部进行乘法运算时发生溢出的情况,x*x(x被定义为int型)的结果不是永远大于零的. 代脉内容 #inc ...
最新文章
- 神经元之间是如何形成“社交网络”的
- java new arraylist_Java中ArrayList用法详解
- python绘制灰度图片直方图-opencv+python 统计及绘制直方图
- java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法
- 「后端小伙伴来学前端了」Vue中全局事件总线(GlobalEventBus)原理及探究过程
- [Python人工智能] 二十九.什么是生成对抗网络GAN?基础原理和代码普及(1)
- .Net 实用技术收藏!!!
- Linux配置SSH无密码登录
- 我敢打赌,这世界没有python数据分析解决不了的问题
- 信息学奥赛一本通 1064:奥运奖牌计数 | OpenJudge NOI 1.5 07
- typora绑定github博客_博客生产线:WordPress(平台)+Typora(编辑器)+GitHub(图床)
- duplicate复制数据库
- C++ 哪些不能为虚函数
- [copypaste]各种渐进表示法
- 虚幻4引擎开发的手游_2019虚幻4手游大作排行-虚幻引擎开发的手机游戏
- 总体、样本、样本的抽样分布
- 计算机中文字转换为表格怎么弄,怎样将wps中的文字转化成表格?
- UMLChina建模竞赛第3赛季第7轮:假烟假酒假朋友,假情假意假温柔
- 直播网站并发测试软件,HTTP/HLS/RTMP超级负载测试工具
- 我慌了!我妈从床底掏出了我珍藏多年的小本本-----JAVA_Lambda表达式(笔记)
热门文章
- 古人对梦的解释_梦见古人如何解释梦意_周公解梦梦到古人如何解释梦意是什么意思_做梦梦见古人如何解释梦意好不好...
- 开机读不了bios,提示为 press del to enter setup, esc to enter boot menu?
- 小米8android版本9,小米8已升级安卓9.0版MIUI10,版本号为:8.9.6内测版!
- 论文——好的研究想法从哪里来(转载)怎么找创新点
- 认识 Fuchsia OS
- 总结恢复百度关键词排名的方法
- 为什么说学习编程有助于提升专注力?
- 潜入培训机构,顺出来一份价值 2.2W 的 Python 人工智能大纲
- SSM+传统民间工艺线上商城 毕业设计-附源码181701
- OEA 扩展属性系统 - 主要设计类图