本文来自社区伙伴对《DAX 权威指南(第二版)》的学习笔记,有问题可以留言或联系BI佐罗修改,感谢你的支持。
TOTAL函数系列共包含三个函数:TOTALMTD函数,TOTALQTD函数,TOTALYTD函数。
OPENINGBALANCE系列函数一共包含三个函数:OPENINGBALANCEMONTH函数,OPENINGBALANCEQUARTER函数,OPENINGBALANCEYEAR函数。
先来建个度量值“总销量 = SUM ( '销售表'[销量] )”,把它扔进“条形图”
ALLSELECTED函数,被微软划分为“筛选”类函数,隶属于“表函数”。其用途,常常是用来计算或者显示明面上的筛选影响,而忽略其行上下文的影响。
FIRSTNONBLANK函数与LASTNONBLANK函数属于“表”函数,当然,有些时候也可以作为“值函数”使用。
有位大佬曾经告诉过我,如果你深入理解了CALCULATE,那么你就相当于理解了DAX函数的基础,因为它是DAX函数中最灵活多变,也是适应性最强的函数之一。
NEXT系列一共包含四个函数:NEXTDAY函数,NEXTMONTH函数,NEXTQUARTER函数,NEXTYEAR函数。分别代表次日、次月、次季度、次年。隶属于“表函数”。
编写 DAX 公式时要掌握的核心概念是上下文。DAX 作为一门动态数据分析语言,与 Excel 函数、SQL 查询 和 Power Query 脚本有着根本不同的原因就在于上下文的概念。以上所述的所有其他语言的公式只会在数据发生变化时才会返回不同的结果(除了一些例外情况,例如使用参数时),但是单个 DAX 公式就可以同时提供多个不同的结果,具体取决于您使用它的位置和方式,也就是:上下文。
这里是希望表达计算销售额,但会遭遇一个语法错误,这里不能使用 vTable[LineSellout] 。
PREVIOUS函数系列一共包含四个函数:PREVIOUSDAY函数,PREVIOUSMONTH函数,PREVIOUSQUARTER函数和PREVIOUSYEAR函数。
Excel 中有由单元格区域构成的表结构;Excel 中有创建表得到的工作表表格;Excel 中有数据模型中的数据模型表;Excel 中有透视表;以上 4 种表是完全不同的概念。而这些基础需要伙伴们注意。
以下内容节选自《DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析》一书!
继续学习CALCULATE函数,之前分享了利用FILTER进行内部筛选,那么还有什么用法呢?别急,咱们来继续。
这个系列的函数相对而言比较简单,顾名思义,计算每个时间粒度的第一天,隶属于“表函数”,但是返回结果是单列单行的表,某些时候可以作为“值函数”使用。
从本期开始,白茶会开始梳理筛选器函数,坦白说,这一部分的函数有一些晦涩难懂,即使用咱的中国话来说,白茶也是觉得比较拗口的。
以下内容节选自《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”,获取更多书讯 本文将介绍DAX中的基础表函数。 表函数是DAX中的一种常规函数,它返回的结果不是一个标量值,而是一个表。当需要编写DAX查询和迭代表的高级计算时,表函数非常有用。本文会介绍相关的计算示例。 本文的目标是介绍表函数的概念,而并非提供所有DAX表函数的详细说明。 《DAX权威指南》一书的第12章和第13章中介绍了更多的表函数。本文将解释DAX中最常见和重要的表函数的作用,以及如何在常见的场景中,包括标量表达式中使用它们。 01 表函数介绍 到目前为止,你
在DAX函数中,有些时候我们写的DAX逻辑引用次数过多,或者是性能过差,我们都会选择使用VAR来定义一个变量,减少资源的占用和方便重复的引用。而有些时候,为了进一步提高性能,我们还会选择通过VAR定义虚拟表来减少迭代遍历的次数。
在学习 Power BI 的 DAX 过程中,不免会遇到一些问题和你想的不一致。例如以下问题来自伙伴在实际业务中涉及到的公式,我们来拆解并帮助大家梳理对于 DAX 的理解。
FIESTDATE函数与LASTDATE函数都隶属于“时间智能函数”,属于“表”函数,当然,有些时候也可以作为“值函数”使用。
ENDOFMONTH函数,ENDOFQUARTER函数和ENDOFYEAR函数三者都隶属于“时间智能函数”,属于“表”函数,当然,有些时候也可以作为“值函数”使用。
有过大学计算机相关背景的伙伴会非常清楚:数据结构和算法,是一个程序员(软件开发工程师)的绝对内功心法。
分别表示月末最后一天/季度末最后一天/年度末最后一天。还记得白茶之前曾经写过关于半累加的文章么?如果对于CALCULATE函数使用不习惯,那么可以尝试使用本期这三个函数。
开始本章翻译时,是5月初。当时并不知道平平无奇的5月Power BI会带来一大波更新,尤其是大杀器“字段参数”(字段参数参考文章)。
FILTER函数属于“筛选”类函数,隶属于“表”函数,其使用频率可以算得上最高的几个函数之一。
ALLEXCEPT函数属于“筛选”类函数,隶属于“表函数”,在ALL函数系列家族中,其地位是不可或缺的。
创建行上下文 1. 计算列:引用原有列,通过计算生成新列 2. 迭代函数 1) 聚合函数+X结尾:SumX,AverageX,CountX,CountaX,MaxX,MinX 2) 其他迭代函数:Filter,RankX,SelectColumns,AddColumns,ConcatenateX,FirstNONBlank / LastNONBlank,FirstNONBlankValue / LastNONBlankValue,ProductX
通常我们在DAX Studio中书写的时候,要使用到evaluate申明,也就是在DAX Studio中进行书写公式,我们可以得到函数中间返回的表格,以便于我们查看。
DAX圣经可以说是学习DAX这项技能绕不开的话题,今天,我们就从它的开篇第一章讲起,说说我个人的一些理解——为什么开篇第一章讲数据模型?而不是基础函数?
“PowerBI是一个漫长的学习过程,不是说掌握了一个两个函数就是会了,基础不牢,学那么多花里胡哨的干啥?”
SUMMARIZE执行两个操作:按列分组和添加值列。使用SUMMARIZE对表进行分组是一个安全的操作,而使用SUMMARIZE添加新的列可能会导致难以调试的意外结果。
1.温故而知新。之前曾提到过什么是上下文,现在完成了筛选和聚合函数的学习,正好利用这个机会结合实践巩固一下对这个概念的认知。
Power BI 模型的真正强大之处在于通过使用 DAX 语言进行计算。虽然许多 Power BI 用户专注于模型并试着完全避开使用 DAX,但是除了最简单的基础聚合运算以外,其他所有的计算都需要通过 DAX 来实现。而且,你迟早会在 Power BI 中遇到更复杂的计算需求。根据我们的经验,典型的情况会是:你精心制作的一个 Power BI 报告初稿,会引出有关这些数据的越来越多、越来越复杂的问题。
小SUN目前就职于一家葡萄酒分销公司,其主要职责就是为业务部门提供数据分析报告,其中一份报告是追踪销售团队的KPI并与去年同期进行对比。
本章介绍的是如何在PowerBI模型中实现各类安全性保障。除了我们所熟知的行级别安全性RLS,本文更是介绍了对象级别安全性、表级别安全性、列级别安全性、值级别安全性等。有待大家根据自己的实际业务场景,实现更加符合要求的安全性要求。
—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —
最近学CALCULATE都要吐了,白茶觉得,咱得换一换口味,对吧。本期呢,咱来聊一聊关于排名的问题。
REMOVEFILTERS函数属于“筛选”类函数,其本身不属于表函数,也不属于值函数,仅作为CALCULATE函数的调节器使用。
在DAX公式中,变量是我们经常会使用的一个技巧,方便我们对复杂的公式能够显得的更清楚些,但是变量是一个稳定值,也就是变量的计算的值是固定的,对上下文的影响会忽略。
在学习CALCULATE过程中,白茶发现了,基本上这个函数是我们使用率最高的一个函数,普通的聚合用SUM、SUMX就可以,但是一旦涉及到有条件聚合的时候,基本上都离不开CALCULATE。而且在日常处理数据时,各式各样的情况层出不穷,本次呢,白茶分享一下以点带面的筛选聚合模式。
Power BI中DAX函数非常多,功能非常强大,下面结合一些实际场景来讲解DAX一些常用的函数,这些场景包含求和、计数、相除、排序、累计、环比、同比,为了更方便后续的可视化展示数据,我们新创建可视化展示的页面,创建一个新表存储后续展示的度量值,具体操作如下:
HR 使用Excel已经可以统计很多内容了,但 BI 的特点,大家知道是 动态 的。本文讲解如何在 PowerBI 中实现 HR 在离职人数的计算。
很多人说国内的学习资料太少,在学习的过程中坎坷不断,我与大多数PowerBI学习者一样,一边读外文的博客摸索一边铺路,在不断尝试和与人分享的过程中,总结了个人认为最宝贵的十条DAX学习经验,分享给读者。
从Calculate的语法结构我们可以看出它能够把计算表达式和筛选条件整合起来。我们前面把度量值比作带着漏斗的计算器,那么Calculate就是漏斗与计算器之间的启动键,它能够赋予漏斗按指定的条件来执行过滤筛选,同时让计算器执行运算。
上期中,已经把一个看板搭建完成了,但是很多技术细节并没有做解释,这里把上一节没有讲的细节讲一下~
这些都是之前的文件,这里拿出来是为了方便小伙伴们观看对比使用的。先来说一下什么意思:
在 PowerBI DAX 中,为了简化,数据结构只有一种表面形态:表。那当需要按照不同逻辑结构思考问题的时候,如何从表的结构形态衍生出其他结构形态?
这也是 DAX 中,筛选上下文和行上下文的设计学来由。本文会非常简单地让您搞清楚迭代的概念。
最近白茶在读《圣经第二版》,再加上有很多小伙伴问过白茶总计栏显示不合理的地方,白茶决定抽出一期来描述一下上下文。
领取专属 10元无门槛券
手把手带您无忧上云