#Powerbi 1分钟学会,SUMMARIZE函数,分组汇总并新建表
今天我们来学习一个新的表函数,SUMMARIZE函数是DAX中的一个函数,它可以根据一列或多列对数据进行分组,并且可以使用指定的表达式为汇总后的表添加新列,形成一张新表。
一:基础语法
SUMMARIZE函数的语法是:
SUMMARIZE (表, 分组列1 [, 分组列2]… [, 名称, 表达式]…)
其中:
表,是任何返回数据表的DAX表达式。
分组列,是一个或多个用于创建分组的列的名称,这些列必须在表或与表相关联的表中存在。这个参数不能是一个表达式。
名称,是给汇总列或新建列的名称,用双引号括起来。
表达式,是任何返回单个标量值的DAX表达式,这个表达式会在每一行/上下文中多次求值。
二:案例举例
2.1 数据源及简述
如果经常使用pq的小伙伴,应该对分组依据这个功能很熟悉,其SUMMARIZE函数和分组依据功能一致。需要对照学习的朋友可以去下面链接,学习pq分组依据模块
https://www.cnblogs.com/simone331/p/17138143.html
今天的案例数据源如下所示:

2.2 具体操作
首先,由于是表函数,我们点击新建表,输入对应的dax
这里,我们的第一个需求是:分产品去统计销售金额
度量值构造如下:

简单解释一下下面的dax,上面我指定了数据源表为”分组依据数据源”表,根据表中的”商品”列进行分组,新增一列名为”商品销量”的列,列中的值为数据源表中的销售金额列的总和。

如果我现在新增一个需求,现在需要分门店属性、分产品统计销售金额呢?只需在第二参数,新增一个统计维度即可。度量值构造如下:
分门店属性分产品统计销售金额表 =
SUMMARIZE (
'分组依据数据源',
'分组依据数据源'[门店属性],
'分组依据数据源'[商品],
"商品销量",
CALCULATE (
SUM ( '分组依据数据源'[销售金额] )
)
)
三:总结
从上面的例子可以看出,SUMMARIZE可以让我们指定汇总的目标表,分组的依据列,以及新增字段去统计前面所选的依据列的值(这里可以是表达式),功能是相当强大的。
后续会有智能文本框的相关实例(智能显示TOPN文本信息),来进一步结合实例讲解SUMMARIZE函数。
如果本文有帮到你,请点赞、转发、收藏,感谢!我是simone,期待下次分享。
#Powerbi 1分钟学会,SUMMARIZE函数,分组汇总并新建表的更多相关文章
- 10分钟学会Python函数基础知识
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...
- 五分钟学会generator函数
什么是generator函数? 常规函数只会返回一个单一值(或者不返回任何值). 而 Generator 可以按需一个接一个地返回("yield")多个值.它们可与 iterabl ...
- 【译】10分钟学会Pandas
十分钟学会Pandas 这是关于Pandas的简短介绍主要面向新用户.你可以参考Cookbook了解更复杂的使用方法 习惯上,我们这样导入: In [1]: import pandas as pd I ...
- tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)
| 本文首发于 “生信补给站” https://mp.weixin.qq.com/s/tQt0ezYJj3H7x3aWZmKVEQ 使用tidyverse进行简单的数据处理: 盘一盘Tidyverse ...
- 5分钟学会使用Less预编译器
5分钟学会使用Less预编译器 Less是什么? LESS CSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法为CSS赋予了动态语言的特性,如变量.继承.运算.函数等,更方便 ...
- 【grunt第二弹】30分钟学会使用grunt打包前端代码(02)
前言 上一篇博客,我们简单的介绍了grunt的使用,一些基础点没能覆盖,我们今天有必要看看一些基础知识 [grunt第一弹]30分钟学会使用grunt打包前端代码 配置任务/grunt.initCon ...
- 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)
http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) ...
- 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)
http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...
- Grid分组汇总
Ext.onReady(function () { Ext.define('personInfo', { extend: 'Ext. ...
- 8第八章CTE递归及分组汇总高级部分(多维数据集)(转载)
8第八章CTE递归及分组汇总高级部分(多维数据集) 这里贴图太麻烦...算了 UNION 等集合操作符: UNION 等以第一个 SELECT 的 列明 作为 整个结果集的列明,整个结果集 唯一认可 ...
随机推荐
- 为什么DevOps的必然趋势是BizDevOps
简介: 从精益思想出发,我们可以看到DevOps的必然发展方向,那就是向业务侧延伸.业务是产品开发和运维的源头,完整的价值流必须从源头开始.这不是预测,而是正在发生的事. 编者按:本文源自阿里云云效团 ...
- 万物智联时代的终端智能「管家」 重磅升级:混合云IoT一体机
简介: 「混合云IoT一体机」边缘部署.开箱即用.安全稳定.智管易用,通过定制软件和硬件相结合,预先定制.集成.测试和优化,实现快速部署和远程运维,并提升后续系统可用性和运维效率,是万物互联时代企业 ...
- dotnet 统信 UOS 运行 UNO FrameBuffer 应用错误 Failed to open FrameBuffer device
本文记录在 UOS 统信系统上运行 UNO 的基于 Skia 的 FrameBuffer 应用报错问题,错误提示是 Unhandled exception. System.InvalidOperati ...
- Total Commander 使用 mklink 建立文件夹链接 将 C 盘文件迁移到其他盘
在安装完成了 100000000 个软件之后,我 1T 的 C 盘的空间终于不足了,由于安装了大量的特别挑的不专业的软件,强行放在其他的盘将水土不服.于是在老师傅的指导下,我采用了 mklink 神奇 ...
- CMDB开发(一)
一.CMDB前戏 # 项目开发流程 1.需求分析 产品经理 开发人员 客户等三方会议 2.架构设计 框架的选择 语言选择 数据库选择 3.分组开发 小组成员各自开发各自的功能(可能也会有交集) 4. ...
- C# - 自建 SDK 的 API 文档
在代码中添加 API 文档 用户在使用类库时,通常需要通过 VS 的 Intellisense 或 F12 反编译查看 API 的注释,借助这些注释来了解如何使用 API.在 C# 源文件中,可以通过 ...
- es请求方式调用
Es基础 关系: ElasticSearch-> mysql index (索引)-> 数据库 Documents(文档) -> row(行) Fileds(字段)-> col ...
- 用Java 实现一个异步任务 可终止,可中断,可继续功能
在 Java 中实现一个异步任务可以使用多线程和线程池技术,同时需要考虑终止.中断和继续等功能.下面展示一个简单的示例代码,实现异步任务的终止.中断和继续等功能: import java.util.c ...
- java学习之旅(day.19)
多线程 线程简介 多任务:同时做多件事 进程(Process):在操作系统中运行的程序就是进程,如QQ,播放器,游戏. 线程(Thread):一个进程可以有多个线程,如视频中同时听声音,看弹幕,看图像 ...
- OpenOCD + DAP-LINK调试ESP32的失败经历
目的 手里有调试STM32的DAP-LINK,想试试通过JTAG调试ESP32 OpenOCD支持CMSIS-DAP DAP-LINK支持的芯片,我手上这款描述如下,应该JTAG协议的都支持 平台 w ...