小伙伴们,还记得之前的总计栏显示错误问题么?

本期呢,白茶决定来研究解决这个问题,先来看看之前的样例。

放上之前的每笔成交代码:

每笔成交花费 =
VAR CQ = [每一笔消费达成日期]
VAR DQ =IF (SUM ( Sheet1[销售额] ) > 0,CALCULATE ([每一笔消费达成日期],FILTER (ALL ( Sheet1[日期] ),'Sheet1'[日期] < CQ&& CALCULATE ( SUM ( Sheet1[销售额] ) ) > 0)),BLANK ())
VAR HQ =FILTER ( ALL ( Sheet1[日期] ), 'Sheet1'[日期] <= CQ && 'Sheet1'[日期] > DQ )
RETURNCALCULATE ( SUM ( Sheet1[花费] ), HQ )

这些都是之前的文件,这里拿出来是为了方便小伙伴们观看对比使用的。先来说一下什么意思:

两个人总计花费187.20元,但是实际需求中,可能BOSS只会处理你的有效花费。什么叫有效花费,就是这个钱你花了,并且达成销售了,BOSS才会给你报销。其他的都算在无效消费里面。

也就是需要在总计栏呈现的结果是:187.20元-12.20元-13.20元-6.20元。即155.6元,而不是6.20元。那么该如何处理呢?

先来了解一下SUMMARIZE函数。

语法:

SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

这个函数以后会仔细的说,本次简单的说我们需要的功能。

当SUMMARIZE函数如下这种:

DAX =
SUMMARIZE ( '表', '表'[列] )

这种情况下的结果类似于VALUES函数,提取不重复值。

如果是下面这种:

DAX =
SUMMARIZE ( '表', '表'[列], '表'[列2] )

这种情况相当于构造成了一个笛卡尔积。但是有点不同,就是当表中没有这种组合的时候,那么结果就不会出现。

在数据中先使用SUMMARIZE函数看看效果:

这种就属于利用SUMMARIZE生成了一个只有我们需要维度的表。可能有的小伙伴还没理解,那然后呢?利用SUMX函数外包!

编写代码:

SUMMARIZE优化结果 =
SUMX ( SUMMARIZE ( 'Sheet1', 'Sheet1'[业务员], 'Sheet1'[日期] ), [每笔成交花费] )

结果如图:

这次的结果显示没问题了,对吧。

这里说一下原因:

首先是利用SUMMARIZE生成了一个只有**[日期][人名]**的组合表。

之后SUMMARIZE的第一参会受当前上下文筛选限制,只显示**[每笔销售达成的日期],也就是可见组合**。

然后,之前说过了,**[每笔成交花费]这个度量值相当于把[花费]**这一列截断了,实际上显示的只有每次成交额的汇总,也就是:22.2,,46,40.6,46.8这四个数值。

最后,是SUMX函数进行当前上下文汇总。

再通俗一点就是SUMMARIZE为SUMX函数提供一个可以计算的维度,而之前的**[每笔成交花费]**这个度量值提供需要被计算的值。


小伙伴们❤GET了么?

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

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

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

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

SUMMARIZE函数解决之前的总计错误相关推荐

  1. TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误

    TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误 目录 遇到的问题以及对应解决方法 遇到的问题以及对应解决方法 Transitioning to Tenso ...

  2. matlab函数定义放置或嵌套错误,函数定义放置或嵌套错误怎么解决?

    本帖最后由 为什么_Mp1bR 于 2020-8-22 10:15 编辑 程序大致如下,有些不必要的地方就没贴上来,请帮我看看哪里出错了,是一个子函数出现错误提示: function shiyan13 ...

  3. 成功解决.append方法出现错误IndexError: list index out of range

    成功解决.append方法出现错误IndexError: list index out of range 目录 解决问题 解决方法 解决问题 .append方法出现错误IndexError: list ...

  4. mysql.proc is wrong_解决警告:数据库错误Column count of mysql.proc is wrong.

    事实上,如果你使用 问题就因为你已升级MariaDB或 升级MariaDB或mysql_upgrade命令完成升级更新. 之后,操作MySQL数据库过程中,可能将显示错误消息. 警告: 数据库错误 C ...

  5. Power BI(十五)power pivot之Summarize函数

    Power BI(十五)power pivot之Summarize函数 我们想统计订单金额的销售金额区间分布,想得到的效果图如下 如下图一笔订单会有多笔记录 传统的方法 生成数据透视表 复制到一个新表 ...

  6. 解决IE应用程序错误问题

    解决IE应用程序错误问题 解决" 0X000000该内存不能为read" 的方法 现在有很多人在使用donghai制作的电脑公司ghost版的系统,经常会出现"0X000 ...

  7. mysql unrecognized_service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误...

    service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...

  8. 3分钟解决MySQL 1032 主从错误(转)

    转自  https://blog.51cto.com/suifu/1845457 3分钟解决MySQL 1032主从错误 Part1:写在最前 1032错误----现在生产库中好多数据,在从库误删了, ...

  9. Linux下如何生成core dump 文件(解决segment fault段错误的问题)

    Linux下如何生成core dump 文件(解决segment fault段错误的问题) 参考文章: (1)Linux下如何生成core dump 文件(解决segment fault段错误的问题) ...

最新文章

  1. (转)资料收集,新手必备的sql数据导入导出知识
  2. Java面向对象(五)abstract --- 抽象
  3. where嵌套select_Select子查询:Select Zoo
  4. SEO按天关键词计费排名查询系统源码
  5. 哈希表取模选择素数分析
  6. Mysql数据库小结
  7. 从删库到跑路,就是这么迅速!程序员为了报复同事删了公司数据库
  8. oracle 设置 shmmax,安装ORACLE时在Linux上设置内核参数的含义
  9. Python入门--特殊方法__len__(),__add()__
  10. rocketmq的有序消费模式和并发消费模式的区别
  11. Facebook怎样开发软件:工程师驱动的文化
  12. dmb: 数据库监控及灾备系统(for mysql)_一个备份MySQL数据库的简单Shell脚本
  13. 锐起无盘XP安装与配置图文(一)
  14. Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等
  15. java 百亿计算器,百万换算成亿(百万换算成亿计算器)
  16. 【python】自动登录51cto家园
  17. Xilinx Arch PCIE卡
  18. Ubuntu 16.04 LTS 初体验 (转载)
  19. 5.24 综合案例2.0-雷达避障系统(仅支持2.2以上版本)
  20. linux inittab文件在哪,Linux 中/etc/inittab文件的字段及其说明(转)

热门文章

  1. Transformer如何用于视频?最新「视频Transformer」2022综述
  2. java.util.zip 类 ZipEntry
  3. 微信开放标签wx-open-launch-app
  4. [BZOJ4565][Haoi2016]字符合并(区间状压dp)
  5. mac 版VirtualBox 安装win10方法 全屏
  6. Android 自定义底部上拉控件的实现
  7. 前端 js 微信 支付二维码
  8. python检测多重共线性程序_用 VIF 方法消除多维数据中的多重共线性
  9. .ts 音频文件转换成 .mp3 文件
  10. Centos常用基础命令