—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —
数据分析表达式 (DAX) 语言是一种公式语言,Data Analysis Expressions 数据分析表达式,简称DAX表达式,其允许用户定义自定义计算。DAX 包含一些在 Excel 公式中使用的函数,此外还包含其他设计用于处理关系数据和执行动态聚合的函数。
这样的话做出来的维度没有索引,也就是并没有一个让中文字段排序的列,这样其实很麻烦的。倒是可以通过添加计算列,利用EARLIER函数处理,但是略显繁琐了。
Power BI 模型的真正强大之处在于通过使用 DAX 语言进行计算。虽然许多 Power BI 用户专注于模型并试着完全避开使用 DAX,但是除了最简单的基础聚合运算以外,其他所有的计算都需要通过 DAX 来实现。而且,你迟早会在 Power BI 中遇到更复杂的计算需求。根据我们的经验,典型的情况会是:你精心制作的一个 Power BI 报告初稿,会引出有关这些数据的越来越多、越来越复杂的问题。
白茶对近一个月所学的DAX进行了一次梳理,做出了一个动态多维度的帕累托图,效果如下。
我们用 explain 分析包含 group by 的 select 语句时,从输出结果的 Extra 列经常可以看到 Using temporary; Using filesort。看到这个,我们就知道 MySQL 使用了临时表来实现 group by。
编写 DAX 公式时要掌握的核心概念是上下文。DAX 作为一门动态数据分析语言,与 Excel 函数、SQL 查询 和 Power Query 脚本有着根本不同的原因就在于上下文的概念。以上所述的所有其他语言的公式只会在数据发生变化时才会返回不同的结果(除了一些例外情况,例如使用参数时),但是单个 DAX 公式就可以同时提供多个不同的结果,具体取决于您使用它的位置和方式,也就是:上下文。
在真实的企业环境中,管理往往是按刚需分配,意思是:如果不出问题,那么就不会真正得到重视,因为说明还没有问题。
👆点击“博文视点Broadview”,获取更多书讯 本文将介绍DAX中的基础表函数。 表函数是DAX中的一种常规函数,它返回的结果不是一个标量值,而是一个表。当需要编写DAX查询和迭代表的高级计算时,表函数非常有用。本文会介绍相关的计算示例。 本文的目标是介绍表函数的概念,而并非提供所有DAX表函数的详细说明。 《DAX权威指南》一书的第12章和第13章中介绍了更多的表函数。本文将解释DAX中最常见和重要的表函数的作用,以及如何在常见的场景中,包括标量表达式中使用它们。 01 表函数介绍 到目前为止,你
包含 distinct 关键字的 aggregation 由 4 个物理执行步骤组成。我们使用以下 query 来介绍:
只有站在数据分析与商业智能的金字塔顶端往下望,才能更好地纵览整个BI世界的结构。本章中的“五层模型”提纲挈领式的描绘了整个数据分析的过程,并以此为基础讲述了企业级BI和自助式BI的发展轨迹与未来世界对于业务人员数据分析能力的要求。
本书并不陌生,它已经是该书的第二版了,第一版是针对当年在 Excel 中的 Power Pivot 编写的模式。而本书则是以 PowerBI 作为实践载体来编写的。
👆点击“博文视点Broadview”,获取更多书讯 传统的Excel单表虽然可以有100万行数据的承载量,但是在实际分析时,20万行的数据就已经让传统的Excel非常吃力了。 但是,如果使用Excel中的Power Query和Power Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。 Power Query在Excel和Power BI Desktop中都是内置组件,并且管理界面和知识体系保持了高度一致。 其实,Power BI中的Power Query和Power P
Hive在执行MapReduce任务时经常会碰到数据倾斜的问题,表现为一个或者几个reduce节点运行很慢,延长了整个任务完成的时间,这是由于某些key的条数比其他key多很多,这些Key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完。
本文来自社区伙伴对《DAX 权威指南(第二版)》的学习笔记,有问题可以留言或联系BI佐罗修改,感谢你的支持。
今天下午的源码课,主要是对上两次课程中留的作业的讲解,除了几个逻辑执行计划的优化器外, 重点是planAggregateWithOneDistinct(有一个count distinct情况下生成物理执行计划的原理)。
文章背景: 在表缺少主键无法直接创建关系,或者需要借助复杂的计算才能创建主键的情况下,可以利用计算列来设置关系。在基于计算列创建关系时,循环依赖经常发生。下面先介绍一个示例,然后讲解循环依赖产生的原因,以及如何避免空行依赖。
有伙伴说一段时间没有更新文章,这一次顶十次。明明能拆成十期的文章,非要一次写完,没办法,厚道。
“PowerBI是一个漫长的学习过程,不是说掌握了一个两个函数就是会了,基础不牢,学那么多花里胡哨的干啥?”
在 DAX 中有一个神奇的函数 ALL,被誉为 DAX 圣经的书中有专门的多页篇幅来讲解这个 ALL 以及其相关系列。在 2019年9月 DAX中又新增了一个函数 REMOVEFILTERS,那么,ALL 到底是怎么回事?与 REMOVEFILTERS 到底有何不同?如果你看 DAX圣经 你需要看很久,而罗叔则让你秒懂,永远不会错。
单纯讲解时间智能函数犹如盲人摸象,不见全貌,更不见本质。 我们之前写过很多关于时间智能函数的文章,但文本将是最为本质以及最重要的。本文属于 BI佐罗 PowerBI VIP 线下培训部分抽取。
PowerBI于2日前更新,为何迟迟没有介绍更新的内容呢,这次涉及到两个很重大的更新:分级聚合(微软官方并未给出这个名字)以及PowerBI的查询编辑器(PowerQuery)开始支持 智能感知(千呼万唤始出来的功能)。
瀑布图,在分析中是非常重要的图。在 Power BI 中的原生瀑布图使用起来有些问题,本文来探讨如果基于原生瀑布图的高级使用方法和限制。
DAX 中的表有两类:基表(base table)以及用作临时用途的表(table)。参考:DAX 中的表。
之前的时候,白茶是一个纯小白,有一些东西,网上并没有详细的基础介绍,或者说,没有免费的资源。这就导致说与大佬们沟通的时候,很多大佬都不愿意搭话。不是不愿意回答,而是问的问题太基础了,就好比问人家1+1等于几一样。痛定思痛,基础终究是需要自己静下心来学习的。
以下内容节选自《DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析》一书!
前面的几篇文章中,我们大体上介绍了 SQL 中基本的创建、查询语句,甚至也学习了相对复杂的连接查询和子查询,这些基本功相信你也一定掌握的不错,那么本篇则着重介绍几个技巧方面的关键字,能够让你更快更有效率的写出一些 SQL。
SQL:Structured Query Language,结构化查询语言。
在数据库的各种优化中,加索引是一种特别常见而立竿见影的优化方法。当然,在做某些事情时,也需要增加索引。
以下内容节选自《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的
DISTINCT函数,隶属于“筛选”类函数。微软将其划分为两种模式,列与表模式。但是白茶觉得微软哪怕是不区分出来,相信大家也是了解的。
1.概述 在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。
面对这些问题,我们能有哪些有效的优化手段呢?下面列出一些在工作有效可行的优化手段:
USERELATIONSHIP函数是一个高阶函数,隶属“筛选”类函数,其本身并不能返回任何表或值,仅在计算时启动指定的关系。
最近,有网友发来信息,称实现了超过我们此前公布的算法。牛了,都优化了10万倍性能了还能被超越。晕~~
如果说99%的人不真正理解PowerBI DAX的SUM,你信吗?只怕是说少了,从这个意义上讲,PowerBI就是一个坑爹的。
笔者在近一两年接触了Clickhouse数据库,在项目中也进行了一些实践,但一直都没有一些技术文章的沉淀,近期打算做个系列,通过一些具体的场景将Clickhouse的用法进行沉淀和分享,供大家参考。
2019年3月1日,在SqlBits大会上,微软宣布DAX引入一项重大更新:Calculation Group(暂且不做翻译)。这项更新将对PowerBI及SSAS均构成重要影响。为此,微软SSAS团队官方,SQLBI.com以及Chris Webb分别在各自博客记录这一内容。(后两者为SSAS领域国际顶级专家博客)
本章介绍的是如何在PowerBI模型中实现各类安全性保障。除了我们所熟知的行级别安全性RLS,本文更是介绍了对象级别安全性、表级别安全性、列级别安全性、值级别安全性等。有待大家根据自己的实际业务场景,实现更加符合要求的安全性要求。
Hive性能优化 1.概述 继续《那些年使用Hive踩过的坑》一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。 2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。 sum,
上篇文章给大家分享了前10个spark的企业面试题2020年最新Spark企业级面试题【上】,今天后续来了,来分享剩下的那个几个面试题。也祝大家找到自己喜欢的工作,一起加油,编写不易 请给老哥一个一键三连吧。
有位大佬曾经告诉过我,如果你深入理解了CALCULATE,那么你就相当于理解了DAX函数的基础,因为它是DAX函数中最灵活多变,也是适应性最强的函数之一。
ORDER BY语句,在SQL中通常可以用来作为查询结果的排序依据。当然在PowerBI的DAX语法中也有ORDER BY,只不过通常是与EVALUATE语句搭配使用。
数据模型是进行报告分析的基础。为此提供了结构和有序的信息。为确保提供更好的性能、可靠性和准确性,将数据加载到正确设计的模型中是数据分析很重要的一项工作。
在学习CALCULATE过程中,白茶发现了,基本上这个函数是我们使用率最高的一个函数,普通的聚合用SUM、SUMX就可以,但是一旦涉及到有条件聚合的时候,基本上都离不开CALCULATE。而且在日常处理数据时,各式各样的情况层出不穷,本次呢,白茶分享一下以点带面的筛选聚合模式。
在SQL中,DISTINCT函数也是常见函数之一,通常可以用来进行对表或者列进行去重操作。
不用多说,PowerBI的用户都知道本书是世界范围对PowerBI DAX解释最权威的著作。目前在微软书店(www.microsoftpressstore.com)正式发售。
领取专属 10元无门槛券
手把手带您无忧上云