本文来自社区伙伴对《DAX 权威指南(第二版)》的学习笔记,有问题可以留言或联系BI佐罗修改,感谢你的支持。
有很多小伙伴常常问到含有递归特性的 Power BI DAX 计算问题,这在 DAX 中应该如何解呢?
编写 DAX 公式时要掌握的核心概念是上下文。DAX 作为一门动态数据分析语言,与 Excel 函数、SQL 查询 和 Power Query 脚本有着根本不同的原因就在于上下文的概念。以上所述的所有其他语言的公式只会在数据发生变化时才会返回不同的结果(除了一些例外情况,例如使用参数时),但是单个 DAX 公式就可以同时提供多个不同的结果,具体取决于您使用它的位置和方式,也就是:上下文。
PowerBI于2日前更新,为何迟迟没有介绍更新的内容呢,这次涉及到两个很重大的更新:分级聚合(微软官方并未给出这个名字)以及PowerBI的查询编辑器(PowerQuery)开始支持 智能感知(千呼万唤始出来的功能)。
开始本章翻译时,是5月初。当时并不知道平平无奇的5月Power BI会带来一大波更新,尤其是大杀器“字段参数”(字段参数参考文章)。
有位大佬曾经告诉过我,如果你深入理解了CALCULATE,那么你就相当于理解了DAX函数的基础,因为它是DAX函数中最灵活多变,也是适应性最强的函数之一。
在 PowerBI DAX 中,为了简化,数据结构只有一种表面形态:表。那当需要按照不同逻辑结构思考问题的时候,如何从表的结构形态衍生出其他结构形态?
Power BI 模型的真正强大之处在于通过使用 DAX 语言进行计算。虽然许多 Power BI 用户专注于模型并试着完全避开使用 DAX,但是除了最简单的基础聚合运算以外,其他所有的计算都需要通过 DAX 来实现。而且,你迟早会在 Power BI 中遇到更复杂的计算需求。根据我们的经验,典型的情况会是:你精心制作的一个 Power BI 报告初稿,会引出有关这些数据的越来越多、越来越复杂的问题。
本章介绍的是如何在PowerBI模型中实现各类安全性保障。除了我们所熟知的行级别安全性RLS,本文更是介绍了对象级别安全性、表级别安全性、列级别安全性、值级别安全性等。有待大家根据自己的实际业务场景,实现更加符合要求的安全性要求。
在学习CALCULATE过程中,白茶发现了,基本上这个函数是我们使用率最高的一个函数,普通的聚合用SUM、SUMX就可以,但是一旦涉及到有条件聚合的时候,基本上都离不开CALCULATE。而且在日常处理数据时,各式各样的情况层出不穷,本次呢,白茶分享一下以点带面的筛选聚合模式。
白茶对近一个月所学的DAX进行了一次梳理,做出了一个动态多维度的帕累托图,效果如下。
以下内容节选自《DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析》一书!
以下内容节选自《DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析》一书! ---- --正文-- DAX(Data Analysis eXpressions),即数据分析表达式,是Microsoft Power BI、Microsoft SQL Server Analysis Services(SSAS)和Microsoft Power Pivot for Excel中使用的编程语言。 它创建于2010年,是随PowerPivot的
👆点击“博文视点Broadview”,获取更多书讯 传统的Excel单表虽然可以有100万行数据的承载量,但是在实际分析时,20万行的数据就已经让传统的Excel非常吃力了。 但是,如果使用Excel中的Power Query和Power Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。 Power Query在Excel和Power BI Desktop中都是内置组件,并且管理界面和知识体系保持了高度一致。 其实,Power BI中的Power Query和Power P
—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —
只有站在数据分析与商业智能的金字塔顶端往下望,才能更好地纵览整个BI世界的结构。本章中的“五层模型”提纲挈领式的描绘了整个数据分析的过程,并以此为基础讲述了企业级BI和自助式BI的发展轨迹与未来世界对于业务人员数据分析能力的要求。
简介 Power BI Desktop -是一款由微软发布的自助式商业智能工具,功能强大、易于使用。其中还可以通过微软云连多个数据源并且使用数据源来创建可视化表盘。 但是几乎所有的BI都需要展示如何随时间改变KPI。因此我将会介绍一个帮助我们使用事件元素来分析数据的关键功能。在PowerBI Desktop 中叫做“time intelligence”。应用这种时域分析法能是商业智能中基本的数据表现形式。毕竟公司想要知道的无非就是今年的业绩相比去年如何以及取得了何种进步。 “Time intelligenc
为什么业务分析师要学 Power BI 尤其是 DAX 呢?我们分三文来说清楚。
数据模型是进行报告分析的基础。为此提供了结构和有序的信息。为确保提供更好的性能、可靠性和准确性,将数据加载到正确设计的模型中是数据分析很重要的一项工作。
数据分析表达式 (DAX) 语言是一种公式语言,Data Analysis Expressions 数据分析表达式,简称DAX表达式,其允许用户定义自定义计算。DAX 包含一些在 Excel 公式中使用的函数,此外还包含其他设计用于处理关系数据和执行动态聚合的函数。
文章背景: 在表缺少主键无法直接创建关系,或者需要借助复杂的计算才能创建主键的情况下,可以利用计算列来设置关系。在基于计算列创建关系时,循环依赖经常发生。下面先介绍一个示例,然后讲解循环依赖产生的原因,以及如何避免空行依赖。
这是白茶随机模拟的一组数据,一份事实表,一份维度表;模型关系是很常见的一对多关系。
作为 2018年 的终结篇并同时开启 2019,Excel120 将以此篇揭示 PowerBI 可以做出的最强大图表以及固定套路。
设计优良的分析模型是 DAX 高效运行的前提。在本章中,我们将讨论许多与建模有关的主题,这些主题对于理解性能强劲的模型设计非常重要。
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。 简书原文地址:https://www.jianshu.com/p/21b2ca8fd2b8
哈喽,小伙伴们,头几次白茶分享了单条件聚合、多条件聚合、各类占比、以点带面聚合,本期呢,咱们继续研究CALCULATE函数。
作为刚刚开始写 DAX 公式的小伙伴,会遇到一个非常明显的问题,那就是:我怎么知道我的 DAX 公式在某一步算出来了什么。
有伙伴说一段时间没有更新文章,这一次顶十次。明明能拆成十期的文章,非要一次写完,没办法,厚道。
授之以鱼不如授之以渔,有关DAX的概念性介绍我特意地拖到这个章节统一来讲,以免在前面穿插让大家混淆。DAX是Data Analysis Expression的缩写,即数据分析表达式,DAX公式同Excel一样,公式繁多可以编汇成一部字典,我们不可能一夜之间把这本字典背下来,在这种情况下教会大家原理和学会查字典的方法尤为重要。
这里是希望表达计算销售额,但会遭遇一个语法错误,这里不能使用 vTable[LineSellout] 。
继续学习CALCULATE函数,之前分享了利用FILTER进行内部筛选,那么还有什么用法呢?别急,咱们来继续。
DAX 中的表有两类:基表(base table)以及用作临时用途的表(table)。参考:DAX 中的表。
不管是列或表,只要有重复值,Values就能把它们给挤掉,保证在给你的返回结果里,一个萝卜一个坑
可选DISTINCT子句出现在SELECT关键字之后、可选TOP子句和第一个SELECT-ITEM之前。
INTERSECT是DAX的重要函数之一,使用方式为intersect(表1,表2),它的基本功能是获得两个表的交集,如下图所示:
创建行上下文 1. 计算列:引用原有列,通过计算生成新列 2. 迭代函数 1) 聚合函数+X结尾:SumX,AverageX,CountX,CountaX,MaxX,MinX 2) 其他迭代函数:Filter,RankX,SelectColumns,AddColumns,ConcatenateX,FirstNONBlank / LastNONBlank,FirstNONBlankValue / LastNONBlankValue,ProductX
销售数据表记录了咖啡订单,包括字段:订单编号、订日期、门店、产品ID、顾客、数量。
哈喽,这里是白茶。一个PowerBI的初学者,记得在刚开始学DAX的时候,一个同比环比的问题困扰了我很久,每次都是觉得自己刚刚理解一点东西了,但是发现后续的坑更多。话不多说,LOOK!
到了年底,PowerBI积累了一年的功能来了波大的,本次更新的功能涉及几处重大改进。更新功能列表如下:
这样的话做出来的维度没有索引,也就是并没有一个让中文字段排序的列,这样其实很麻烦的。倒是可以通过添加计算列,利用EARLIER函数处理,但是略显繁琐了。
从Calculate的语法结构我们可以看出它能够把计算表达式和筛选条件整合起来。我们前面把度量值比作带着漏斗的计算器,那么Calculate就是漏斗与计算器之间的启动键,它能够赋予漏斗按指定的条件来执行过滤筛选,同时让计算器执行运算。
日本市场和欧洲市场的总交易是 1.2 亿,什么,单位是什么,如果不对单位做处理,那单位相当于是混合的,也就失去了意义。
HR 使用Excel已经可以统计很多内容了,但 BI 的特点,大家知道是 动态 的。本文讲解如何在 PowerBI 中实现 HR 在离职人数的计算。
👆关注“博文视点Broadview”,获取更多书讯 作者:ExcelHome创始人周庆麟 来源:《DAX权威指南》推荐序 在ExcelHome技术论坛上,经常会有这样的讨论话题:你希望下一个版本的Excel增加什么功能? 在2006年以前,很多人都说,希望Excel能提高单表处理数据的数量上限,最好能像Access那样可以建立多表查询。 自Excel 2007问世后,单表处理数据的量,从65,536行增加到了1,048,576行。 于是,很多人表示相当满意,但还是有一些人表示,只是简单增加单表的行数不够
很多伙伴都希望快速理解 Power BI 以及 DAX 的精髓,以便可以快速工作,但往往被很多程序员误导必须要学习编程。还有很多程序员看了大量图书,在自我总结,希望可以提纲挈领地找到自助商业智能分析框架或者密码。在下,也是其中一员,在回答自己和伙伴的各种疑问的过程中,在积累中有所感悟,将这些分享给你,也许可以帮助有缘人打通,快速领略模型驱动的自助商业智能分析之妙。
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
👆点击“博文视点Broadview”,获取更多书讯 本文将介绍DAX中的基础表函数。 表函数是DAX中的一种常规函数,它返回的结果不是一个标量值,而是一个表。当需要编写DAX查询和迭代表的高级计算时,表函数非常有用。本文会介绍相关的计算示例。 本文的目标是介绍表函数的概念,而并非提供所有DAX表函数的详细说明。 《DAX权威指南》一书的第12章和第13章中介绍了更多的表函数。本文将解释DAX中最常见和重要的表函数的作用,以及如何在常见的场景中,包括标量表达式中使用它们。 01 表函数介绍 到目前为止,你
Power BI 矩阵,是信息密度最大的图表,终端用户在使用时,希望导出数据时可以是所见即所得的。在 2021 年 11 月更新后,此功能终于上线,满足了用户历史上的需求。
DAX Pro 是为业务人员创建的工具。为了避免混淆,精确地讲,这个工具并非是 IT 程序员为 IT 程序员创建的一个 IT 编程工具。当然,我们并不排斥 IT 程序员来使用本工具直接创建业务价值。但您可以大为放心的是:
之前呢,白茶分享了一些CALCULATE的心得,但是要知道我们在对数据进行分析的时候,往往是多条件参考的,比如说哪个区域、哪个时间点、哪个状态的销售的最好,这就很明显需要我们在计算的时候把这些选项算进去。
领取专属 10元无门槛券
手把手带您无忧上云