目录

1、Power BI数据分析来了,您准备好了吗?

2、数据分析语言DAX(优雅简洁的数据分析语言)

3、Power BI数据源导入(数据表格准备)

4、数据分析之计算列(数据分析的辅助神器)

5、数据分析之度量值(数据分析的主力神器)

6、计算列与度量值区别(DAX公式写法选择)

7、计算列与度量值数据类型(规范数据类型)

8、运算符详解(DAX公式必会基础)

9、表、列、度量值的引用(规范公式编写规则)

10、DAX公式格式化与注释(让公式更具可读性)

11、条件分支函数IF(甄别是非的利器)

12、条件分支函数SWITCH(升级版IF函数)

13、多表关系设置(初识数据建模)

14、多表关系设置进阶(数据建模进阶)

15、变量的应用(加快数据处理的法宝)


1、Power BI数据分析来了,您准备好了吗?

(1)Power BI安装,可以下载安装,也可以在微软应用商店安装。

(2)Power Query-M语言,数据清洗。参考课程:《Power BI商业智能分析教程--数据清洗》

(3)Power Pivot-DAX语言,数据分析。

定义:又名超级数据透视表,PowerPivot是数据透视表的强大“后台”,存在于Excel和Power BI中,以结构化的方式来存储数据,利用计算公式,为报表和可视化图表提供丰富的分析维度和度量。

使用Power Pivot可以汇聚来自各种来源的数据,允许您执行强大的数据分析和创建复杂的数据模型。

作用:数据分析。

优点:更强大的数据分析能力,更强的性能处理。PowerPivot通过使用其内存中的引擎和高效的压缩算法,能以极高的性能处理大型数据集。

那什么是DAX呢?在Power Piovt中完成的所有数据分析都是使用的公式完成的。这种公式就叫DAX公式。

友情提示:

Power Pivot主要功能是做数据分析,千万不要混淆用做数据清洗。如需数据清洗,请先在Power Query中完成,然后再导入到Power Pivot做后续的数据处理。

2、数据分析语言DAX(优雅简洁的数据分析语言)

什么是DAX?DAX公式始终以等号(=)开头。在等号后,可提供计算为标量的任何表达式,也可提供能转换为标量的表达式。

一、编写DAX公式的位置:

(1)新建表

(2)新建列

(2)度量值

二、DAX公式的应用场景:

(1)DAX在Power BI中的应用

(2)DAX在Excel中的应用

3、Power BI数据源导入(数据表格准备)

一、从Power Query中加载表格

(1)导入文件

(2)手工输入

二、在Power BI中创建表格

(1)手工输入

(2)函数生成

4、数据分析之计算列(数据分析的辅助神器)

计算列,相当于给表格加添列,属于行上下文计算。计算列占用模型加载时间,计算结果占用内存。以下是计算列的几种应用场景:

(1)做聚合时的值(不推荐)

(2)做筛选器分类(推荐)

(3)在报表行、列中做筛选(推荐)

5、数据分析之度量值(数据分析的主力神器)

度量值,返回结果一定是个标量值(单值),而不能是列或者表格。度量有测量、计量之意。度量值会受环境影响,所写DAX公式会在不同计值环境中计量出不同结果。度量值只是在查询时才计算(消耗CUP),不占用内存与磁盘空间。下面学习一下度量值在不同报表形态下的运算:

(1)一维表中的度量值

(2)二维表中的度量值

(3)图表中的度量值

(4)切片器下的度量值

6、计算列与度量值区别(DAX公式写法选择)

如果其他人发送一条DAX公式给您?如何区分是计算列公式,还是度量值公式呢?这里约定俗成的方法是:

计算列公式:列名=DAX公式

度量值公式:度量值名:= DAX公式

在Excel中必须这样区分,但在Power BI中可以直接输入“=”开始。在Power BI中也可以通过图标区分,计算列用表示,度量值用表示。

有的数据分析需求使用计算列和度量值都能完成,但还有一些偏向设置。

适用于计算列的情况有:

(1)计算结果用于切片器、矩阵的行列区等具有筛选性质的场景。

(2)对文本或数字分类,比如“优良中差”等级分类,分数、业绩等数字的分类划分。

适用于度量值的情况有:

(1)做聚合运算

(2)能用度量值的尽量不用计算列(如单价*数量)

7、计算列与度量值数据类型(规范数据类型)

数据类型的确认是在对表做数据分析前非常重要的一项工作。在Power BI中的表格列和度量值都可以设置数据类型。

整数:DAX数据类型只有64位整数,所有整数值之间的内部计算都是使用64位整数。

十进制:十进制数总是以双精度浮点值的形式存储。

定点小数:定点小数分隔符的位置是固定的,小数分隔符右侧始终有四位数。

日期/时间:表示日期和时间值

日期:仅表示日期(没有时间部分)

时间:仅表示时间(没有日期部分)

文本:Unicode字符数据字符串。可以是字符串、数字或文本格式表示的日期。

True/False:为True或False 的布尔值。

二进制:二进制数据类型用于在数据模型中存储图像。DAX中无法使用。历史原因还暂时存在。

8、运算符详解(DAX公式必会基础)

在编写DAX公式时,运算符也是要必须掌握的,下表列出了常用运算符:

运算符类型

符号

用法

返回值

小括号

( )

改变计算优先级

不定

算术运算符

+

返回数字

-

*

/

文本连接符

&

文本连接符

返回文本

比较运算符

=

等于

返回布尔值

<>

不等于

>

大于

>=

大于等于

<

小于

<=

小于等于

逻辑运算符

&&

逻辑与

||

逻辑或

IN

包含判断

NOT

否定判断

9、表、列、度量值的引用(规范公式编写规则)

在编写DAX公式时,除了会使用各种运算符、函数、各种标量值之外,有需要引入表、列、度量值这3种重要的元素。

引用元素

建议写法

不建议写法

示例

引用表

'表名'

=COUNTROWS('销售表')

引用列

'表名'[列名]

[列名]

=SUM('销售表'[数量])

引用度量值

[度量值]

'表名'[度量值]

= SUMX('销售表','销售表'[数量]*[单价])

在上面的写法中,要关键区分引用列与度量值。原因如下:

(1)引用列时建议写带上表名的原因在于,在生产环境中,分析涉及到的表可能有多个,多个表之间可能有相同列名,如果不带上表名,可能无法识别。

(2)引用度量值时,如果带上表名,可能无法区分引用的是列,还是度量值。

两个温馨提示:

(1)在编写DAX公式时,如果要引用表、列,最好在函数的参数中编写,这样具过滤功能,可以将无关的引用对象排除。

(2)当编写的度量值比较多时,可以统一创建在一个表中。

10、DAX公式格式化与注释(让公式更具可读性)

比较简短的DAX公式可以写成一行,长的DAX公式也可以写成一行,可读性太差。需要格式化。最好的办法是格化成多行显示。换行使用ALT+ENTER键,格式化DAX公式最主要是格式化函数,的要求如下:

(1)函数名与左括在一行

(2)每个参数独占一行

(3)反括号占一行

(4)函数名与反括号对齐

(5)参数要缩进

比如对SUMX函数格式化:

DAX公式 =

SUMX(

'销售表',

'销售表'[数量]*'销售表'[单价]

)

格化式DAX公式只是第1步,如果希望可读性更强,加上注释更好。注释分为单行注释与多行注释。单行注释符号为“--”或者“//”;多行注释符号为“/*”开头,“*/”结束。

以下是单行注释各位置的写法:

DAX公式 =

//迭代聚合函数应用

--根据数量与单价计算金额

SUMX(

'销售表',--提供表格

'销售表'[数量]*'销售表'[单价] //金额计算

)

以下是多行注释各位置的写法:

DAX公式 =

/*多行注释第1行

多行注释第2行

……

*/

SUMX(

/*这是一个迭代器函数

这是求和函数

*/

'销售表',

/*提供求和的表

提供的为表格对象

*/

'销售表'[数量]*'销售表'[单价]

/*计算金额

提供数量与单价

*/

)

11、条件分支函数IF(甄别是非的利器)

IF函数相信已不再陌生,无论是在Excel中,还是在大多数编程语言中都有关于if的函数或者是语句,在DAX中同样也提供了if函数,主要是以下三种书写方法:

(1)IF两个参数写法

if2 =IF(7>1,"YES","NO")

(2)IF三个参数写法

(3)IF嵌套写法

12、条件分支函数SWITCH(升级版IF函数)

为什么说SWITCH函数是IF函数的升级版?原因在于写书方式更科学,从参数结构层面看起来更舒服。SWITCH函数的书写方式有以下两种:

第1种,根据不同的值返回不同结果。

SWITCH ( <表达式>, <值1>, <结果1>, [<值2>, <结果2>, … ], [<备选结果>] )

switch1 =

SWITCH("c",

"a",10,

"b",20,

"c",30,

100

)

第2种,根据不同的判断返回不同结果。

SWITCH ( True(), <判断1>, <结果1>, [<判断2>, <结果2>, … ], [<备选结果>] )

switch2 =

var Score=51

return

SWITCH(

TRUE(),

Score>=90,"优",

Score>=80,"良",

Score>=60,"中",

"差"

)

13、多表关系设置(初识数据建模)

在本课之前讲解的全是对单表的操作,从本节课开始,可能更多是多表之间的数据分析。在进行多表分析前,要将表与表之间建立关系。各表之间有了关联,也就具有数据传递性,这就是数据建模。

在下图中有“产品表”和“销售表”,我们以产品为连接键将这两表做关联,然后以“产品表”中的“类别”为依据对“销售表”中的“数量”求和。

最后汇总结果如下(以表格和图表两种方式呈现),接下来分析一下数据是如何完成传递的,又是如何执行的聚合计算的。

 

无论数据模型多复杂,最科学的关系联结方式是一对多(一端对多端)。因此,我们在建模时最好保持一对多的建模方式。

我们再从另外的角度谈谈这两个表,实际很多时候,我们称“销售表”为实事表,称“产品表”为维度表。

事实表:事实表是数据分析的核心表格,描述业务特定事件的数据。

维度表:就是分析事实表的角度,是从事实表中抽离出来的分析粒度。

14、多表关系设置进阶(数据建模进阶)

前面我们讲解的数据模型是比较简单。本课我们加大难度。如下图所示,分别准备了“类别表”、“产品表”、“部门表”、“员工表”、“销售表”。从整个数据模型在看,“销售表”是事实表,除此之外全是维度表。现在已经建立好关系。

对应各表的关联设置,数据从一端到多端做数据沿袭传递。

 类别汇总平均销量和总数量,并分析是如何完成数据传递的。

15、变量的应用(加快数据处理的法宝)

变量,就是将数据存储在一段内存中,然后将这段内存贴个标签,这个标签就是变量。变量如果没有使用,是不会计算的,一旦被使用参与计算赋值后,就不会再重新计算。变量的值可以是单值、表格、列表。

使用变量有三个优点。

第1,代码可读性。使用变量,能让DAX公式看起来更优雅、简洁。可读性更强强。

第2,代码复用性。如果会多次使用一个公式,可以将其定义名变量。

第3,代码性能更高。DAX中的变量执行的是惰性计算。第1次计算出结果后,当再次调变量时,则不会再运算公式,而是直接使用第1次讲算的结果。

下面学习一下变量的书写方法,如下代码所示,定义方式是var…return…  var后面是定义变量,可以定义多个。return后是返回结果,可以是变量名,也可以是DAX公式。

变量定义在独立行中,如下金额1度量值所示:

金额1: =

var price=AVERAGE('销售表'[单价])

var total=

SUMX(

'销售表',

'销售表'[数量]*price

)

return

total

求和1 =

var avgs=AVERAGE('销售表'[单价])

var sums=SUMX(

'销售表',

'销售表'[数量]*avgs

)

return

sums

变量定义在函数参数中,如下金额2度量值所示:

金额2: =

SUMX(

'销售表',

var price=AVERAGE('销售表'[单价])

var total='销售表'[数量]*price

return

total

)

求和2 =

SUMX(

'销售表',

var avgs=AVERAGE('销售表'[单价])

var moy='销售表'[数量]*avgs

return

moy

)

Power BI 数据分析基础相关推荐

  1. 微软认证BI专家雷元带你全面搞定Power BI数据分析

    如同当年迎接计算机的发展.互联网的冲击那样,数据将成为第一生产力.我们要如何迎接数据时代的来临? 作为一个普通人,我们如何能走在这场数字变革的前端,又如何去掌握数据分析的能力? 资深数据分析师雷元告诉 ...

  2. power bi数据分析_Power BI数据模型:使用关系

    power bi数据分析 In this article, we look at how to create different types of relationships between two ...

  3. 【好书推荐】Power BI数据分析从入门到进阶

    2022年新书出版,人生第一本书,厚积薄发,写这本书前,积累了十年,看了同类30本书,越来越有写一本书的强烈念头.<Power BI数据分析从入门到进阶>机械工业出版社5月出版,欢迎大家支 ...

  4. python的power bi转换基础

    I've been having a great time playing around with Power BI, one of the most incredible things in the ...

  5. Power BI数据分析实战——柏拉图的制作

    在公司也实习半年了,半年做了很多Dashboard,也经常用Tableau,但是我还是觉得Power BI更好用一些,可能比较适合小白,入门简单,很容易就能做出不错的Dashboard. 前一段时间老 ...

  6. excel 时间戳_我没有Excel基础,可以学Power BI吗

    当然可以!没有Excel基础一样可以熟练掌握Power BI ! Excel基础可以略微影响Power BI的上手速度,却不能决定最终对Power BI的运用能力. 如果有Excel基础学习Power ...

  7. powerbi视觉对象_玩转Power BI的图片可视化

    ​制作可视化报告时,为了展示效果,有时候需要用图片来展示,在 Power BI 中,关于图片的自定义视觉对象主要有下面三个,利用他们可以很轻松的进行图片可视化. 下面来看看这些视觉对象的效果. 样本数 ...

  8. Power BI中突出显示矩阵的最大值与最小值

    > 本文翻译自国际Power BI大师Alberto Ferrari的文章--<Highlighting the minimum and maximum values in a Power ...

  9. Power BI+Power Apps联动初尝试

    我们知道Power BI是用来制作报表和仪表板的工具,也就是Power BI是数据分析结果的输出,一般操作上这些分析结果很难再输入到一些业务流程中.在下面这个例子里,我们会引入Power Apps,将 ...

  10. 从Excel到Power BI,为什么越来越多的职场人纷纷选择Power BI?

    文末赠书 "IT有得聊"是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业.实用的知识与技能,快速提升职场竞争力. 点击蓝色微信名可快速关注我 ...

最新文章

  1. hello world!!(Java)
  2. [Android Studio] Android Studio常用快捷键
  3. Ice-3.5.1在CentOS 6.5系统中的编译配置教程
  4. Oracle顶级认证OCM考试实战总结
  5. c#中的Form.Show和Form.ShowDialog的区别
  6. 可汉学院python_可汗学院离线版本
  7. 前端学习(2537):vue源码解析2伪数组转换为真数组
  8. win10进程太多怎么优化_用过最好用的Win10优化软件,全方面优化和管理!
  9. 随机化算法 —— 数组置乱器的实现
  10. leetcode 198 动态规划
  11. ODBC安装及数据源配置
  12. SQL 之group by查询语句
  13. 关于删除某文件需要TrustedInstaller权限的解决方法
  14. MATLAB 使用 loglog semilogy 不显示对数坐标
  15. 远程桌面系统管理员以限制你登入计算机,windows远程连接时:系统管理员已经限制你可以使用的登录类型(网络或交互式)解决办法...
  16. CDN及其加速原理(详解)
  17. SSA ASS (Advanced SubStation Alpha) 字幕
  18. Leetcode-数据结构-88. 合并两个有序数组
  19. CodeForces - 1364D Ehabs Last Corollary(dfs树找最小环)
  20. SpringMVC几个模型对象

热门文章

  1. 基于计算机显卡的研究
  2. 2018高考数学江苏第16题计算量你做主
  3. c#推箱子小游戏代码_C# 简单推箱子游戏源码
  4. svn 命令行使用总结
  5. Spring Boot+Spring Security:基于URL动态权限:自定义Filter - 第17篇
  6. DZ先生怪谈国标28181-2016之目录查询
  7. Python办公自动化实战 01 | Python优势与自动化思维让你的工作化繁为简
  8. 算法 图4 哈利·波特的考试
  9. h30-t10 android phone,荣耀3C移动2G版(H30-T10)官方完整版ROM全合集!!!
  10. iPhone--卡贴是什么