之前呢,白茶分享了一些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函数(二)修订版相关推荐

  1. 空间连接时计算总和_学习CALCULATE函数(六)丨帕累托之累计求和

    (写在前面的话:非常感谢@韭菜大神和@冬神的指点,万分感谢.) 哎,说归说,还是需要继续学习CALCULATE函数,也是蛮无奈的.最近白茶在研究帕累托分析法,本期分享一下帕累托ABC分析法的基础--累 ...

  2. 学习CALCULATE函数(六)丨帕累托之累计求和

    (写在前面的话:非常感谢 @韭菜大神和 @冬神的指点,万分感谢.) 哎,说归说,还是需要继续学习CALCULATE函数,也是蛮无奈的.最近白茶在研究帕累托分析法,本期分享一下帕累托ABC分析法的基础- ...

  3. 学习CALCULATE函数(四)修订版

    生活就像一盒巧克力,你永远不知道下一颗是什么味道.  >                                                     ​--<阿甘正传> ...

  4. 学习CALCULATE函数(五)修订版

    哈喽,小伙伴们,头几次白茶分享了单条件聚合.多条件聚合.各类占比.以点带面聚合,本期呢,咱们继续研究CALCULATE函数. 白茶最近思考了一下,就是CALCULATE函数,为什么它是最灵活的,也是使 ...

  5. 学习CALCULATE函数(一)修订版

    有位大佬曾经告诉过我,如果你深入理解了CALCULATE,那么你就相当于理解了DAX函数的基础,因为它是DAX函数中最灵活多变,也是适应性最强的函数之一. CALCULATE的语法结构 DAX= CA ...

  6. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  7. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  8. HiveQL学习笔记(二):Hive基础语法与常用函数

    本系列是本人对Hive的学习进行一个整理,主要包括以下内容: 1.HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介 2.HiveQL学习笔记(二):Hive基础语法与常用函数 ...

  9. 计算机基础学习日志(二)sq函数

    计算机基础学习日志(二)sq函数 代码功能 代脉内容 运行结果 结果分析 代码功能 模拟计算机内部进行乘法运算时发生溢出的情况,x*x(x被定义为int型)的结果不是永远大于零的. 代脉内容 #inc ...

最新文章

  1. 神经元之间是如何形成“社交网络”的
  2. java new arraylist_Java中ArrayList用法详解
  3. python绘制灰度图片直方图-opencv+python 统计及绘制直方图
  4. java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法
  5. 「后端小伙伴来学前端了」Vue中全局事件总线(GlobalEventBus)原理及探究过程
  6. [Python人工智能] 二十九.什么是生成对抗网络GAN?基础原理和代码普及(1)
  7. .Net 实用技术收藏!!!
  8. Linux配置SSH无密码登录
  9. 我敢打赌,这世界没有python数据分析解决不了的问题
  10. 信息学奥赛一本通 1064:奥运奖牌计数 | OpenJudge NOI 1.5 07
  11. typora绑定github博客_博客生产线:WordPress(平台)+Typora(编辑器)+GitHub(图床)
  12. duplicate复制数据库
  13. C++ 哪些不能为虚函数
  14. [copypaste]各种渐进表示法
  15. 虚幻4引擎开发的手游_2019虚幻4手游大作排行-虚幻引擎开发的手机游戏
  16. 总体、样本、样本的抽样分布
  17. 计算机中文字转换为表格怎么弄,怎样将wps中的文字转化成表格?
  18. UMLChina建模竞赛第3赛季第7轮:假烟假酒假朋友,假情假意假温柔
  19. 直播网站并发测试软件,HTTP/HLS/RTMP超级负载测试工具
  20. 我慌了!我妈从床底掏出了我珍藏多年的小本本-----JAVA_Lambda表达式(笔记)

热门文章

  1. 古人对梦的解释_梦见古人如何解释梦意_周公解梦梦到古人如何解释梦意是什么意思_做梦梦见古人如何解释梦意好不好...
  2. 开机读不了bios,提示为 press del to enter setup, esc to enter boot menu?
  3. 小米8android版本9,小米8已升级安卓9.0版MIUI10,版本号为:8.9.6内测版!
  4. 论文——好的研究想法从哪里来(转载)怎么找创新点
  5. 认识 Fuchsia OS
  6. 总结恢复百度关键词排名的方法
  7. 为什么说学习编程有助于提升专注力?
  8. 潜入培训机构,顺出来一份价值 2.2W 的 Python 人工智能大纲
  9. SSM+传统民间工艺线上商城 毕业设计-附源码181701
  10. OEA 扩展属性系统 - 主要设计类图