SUMMARIZE函数解决之前的总计错误
小伙伴们,还记得之前的总计栏显示错误问题么?
本期呢,白茶决定来研究解决这个问题,先来看看之前的样例。
放上之前的每笔成交代码:
每笔成交花费 =
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函数解决之前的总计错误相关推荐
- TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误
TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误 目录 遇到的问题以及对应解决方法 遇到的问题以及对应解决方法 Transitioning to Tenso ...
- matlab函数定义放置或嵌套错误,函数定义放置或嵌套错误怎么解决?
本帖最后由 为什么_Mp1bR 于 2020-8-22 10:15 编辑 程序大致如下,有些不必要的地方就没贴上来,请帮我看看哪里出错了,是一个子函数出现错误提示: function shiyan13 ...
- 成功解决.append方法出现错误IndexError: list index out of range
成功解决.append方法出现错误IndexError: list index out of range 目录 解决问题 解决方法 解决问题 .append方法出现错误IndexError: list ...
- mysql.proc is wrong_解决警告:数据库错误Column count of mysql.proc is wrong.
事实上,如果你使用 问题就因为你已升级MariaDB或 升级MariaDB或mysql_upgrade命令完成升级更新. 之后,操作MySQL数据库过程中,可能将显示错误消息. 警告: 数据库错误 C ...
- Power BI(十五)power pivot之Summarize函数
Power BI(十五)power pivot之Summarize函数 我们想统计订单金额的销售金额区间分布,想得到的效果图如下 如下图一笔订单会有多笔记录 传统的方法 生成数据透视表 复制到一个新表 ...
- 解决IE应用程序错误问题
解决IE应用程序错误问题 解决" 0X000000该内存不能为read" 的方法 现在有很多人在使用donghai制作的电脑公司ghost版的系统,经常会出现"0X000 ...
- mysql unrecognized_service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误...
service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...
- 3分钟解决MySQL 1032 主从错误(转)
转自 https://blog.51cto.com/suifu/1845457 3分钟解决MySQL 1032主从错误 Part1:写在最前 1032错误----现在生产库中好多数据,在从库误删了, ...
- Linux下如何生成core dump 文件(解决segment fault段错误的问题)
Linux下如何生成core dump 文件(解决segment fault段错误的问题) 参考文章: (1)Linux下如何生成core dump 文件(解决segment fault段错误的问题) ...
最新文章
- (转)资料收集,新手必备的sql数据导入导出知识
- Java面向对象(五)abstract --- 抽象
- where嵌套select_Select子查询:Select Zoo
- SEO按天关键词计费排名查询系统源码
- 哈希表取模选择素数分析
- Mysql数据库小结
- 从删库到跑路,就是这么迅速!程序员为了报复同事删了公司数据库
- oracle 设置 shmmax,安装ORACLE时在Linux上设置内核参数的含义
- Python入门--特殊方法__len__(),__add()__
- rocketmq的有序消费模式和并发消费模式的区别
- Facebook怎样开发软件:工程师驱动的文化
- dmb: 数据库监控及灾备系统(for mysql)_一个备份MySQL数据库的简单Shell脚本
- 锐起无盘XP安装与配置图文(一)
- Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等
- java 百亿计算器,百万换算成亿(百万换算成亿计算器)
- 【python】自动登录51cto家园
- Xilinx Arch PCIE卡
- Ubuntu 16.04 LTS 初体验 (转载)
- 5.24 综合案例2.0-雷达避障系统(仅支持2.2以上版本)
- linux inittab文件在哪,Linux 中/etc/inittab文件的字段及其说明(转)
热门文章
- Transformer如何用于视频?最新「视频Transformer」2022综述
- java.util.zip 类 ZipEntry
- 微信开放标签wx-open-launch-app
- [BZOJ4565][Haoi2016]字符合并(区间状压dp)
- mac 版VirtualBox 安装win10方法 全屏
- Android 自定义底部上拉控件的实现
- 前端 js 微信 支付二维码
- python检测多重共线性程序_用 VIF 方法消除多维数据中的多重共线性
- .ts 音频文件转换成 .mp3 文件
- Centos常用基础命令