#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 的 列明 作为 整个结果集的列明,整个结果集 唯一认可 ...
随机推荐
- Serverless 架构模式及演进
简介: Serverless 架构从使用技术上有计算,数据存储,消息通信,我们可从运维性,安全性,可靠性,可扩展性,成本几个角度来衡量架构的优劣.本文会介绍一些常见的业务场景,探讨如何使用 Serv ...
- SemanticFunction 自然语言函数
本文将和大家介绍 LLM 的魔法,通过自然语言编程的方式开发 SemanticFunction 函数 大家都知道,编程里面的函数可以是一个完成某个功能的逻辑片段,绝大部分的函数都需要使用人类不友好的编 ...
- .NET 缓存:内存缓存 IMemoryCache、分布式缓存 IDistributedCache(Redis)
.NET缓存里分了几类,主要学习内存缓存.分布式缓存 一.内存缓存 IMemoryCache 1.Program注入缓存 builder.Services.AddMemoryCache(); 2.相关 ...
- SpringBoot连接redis报错:exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接
一.解决思路 (1).检查redis的配置是否正确 spring redis: host: localhost port: 6379 password: 123456 database: 0 time ...
- 密码学—Vigenere加密Python程序
文章目录 维吉尼亚加密 加密算法 解密算法 注意事项 维吉尼亚加密 古典密码,属于多表加密. 怎么就是多表了? 维吉尼亚密码的加密算法实质是凯撒密码,因为他是先分好小组,然后用密钥串对应着分好组的每一 ...
- 谈谈 JVM 垃圾回收机制
前言 垃圾回收需要思考三件事情,哪些内存需要回收?什么时候回收?如何回收? 一.哪些内存需要回收 JVM 的内存区域中,程序计数器.虚拟机栈和本地方法栈的生命周期是随线程而生,随线程而灭的.这几个区域 ...
- pageoffice 6 实现数据区域填充(插入文本、图片、word、excel等)
在实际的Word文档开发中,经常需要自动填充数据到Word模板中,以生成动态的Word文档. 例如: 1.我们可以根据数据库表中已保存的个人信息,设计好一个简历模板docx文件,然后通过代码将这些个人 ...
- 统计学习:EM算法及其在高斯混合模型(GMM)中的应用
1. EM算法的基本思想 我们在应用中所面对的数据有时是缺损的/观测不完全的[1][2].我们将数据分为: 可观测数据,用\(Y\)表示: 缺失数据,用\(Z\)表示; 完全数据,用\(X=(Y, Z ...
- DashVector + DashScope升级多模态检索
本教程在前述教程(DashVector + ModelScope玩转多模态检索)的基础之上,基于DashScope上新推出的ONE-PEACE通用多模态表征模型结合向量检索服务DashVector来对 ...
- 使用jsbarcode生成条形码
安装 yarn add jsbarcode 使用 // HTMLElement 承载条形码的元素 svg/canvas // text 显示在条形码下方的文字 // option 条形码的配置项 具体 ...