栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Power BI 数据分析基础

Power BI 数据分析基础

目录

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公式 =

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

)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号