Power BI学习(数据可视化)

发布于:2024-03-21 ⋅ 阅读:(100) ⋅ 点赞:(0)

另一个也可以的工具是:Tableau

还有一个是:神策,主要是用于互联网的app的数据埋点

数据分析的过程:

数据源--数据清洗(power query)-构建指标 新建度量值(power pivot)-可视化(power view)-报表完成


我使用的PowerBI版本

一 获取数据

1.连接MySQL数据库

如果要连接MySQL,那么在MySQL安装路径下要安装mysql-connect-net,(我是本地电脑,如果数据库在服务端,那么需要放在服务端)下载地址MySQL :: Download MySQL Connector/NET (Archived Versions)

双击安装后

powerBI主页--获取数据--更多--数据库--MySQL数据库

 

输入数据库和用户后,就可以获取数据库的数据了

2.导入execl数据

导入后,可以查看表之间的关系

二 操作数据(数据清洗)

主页--转换数据--转换数据

打开的是Power Query编辑器

可以编辑数据的类型,行列转换,增删列,提取,分组等操作

设置完即可“关闭并应用”

三 数据可视化

下面的新建列操作是数据建模的一部分:

在数据页面,新建一个某几列数据合在一起计算的列

选择表,右键--新建列--输入公式--确认

1. 地图

比如:查看门店分布及销售情况

1)插入--新建视觉对象

2)对象可以拉到合适的位置。然后,选择对象 --选择“可视化”的“地图”

3)将数据表中的门店的国家字段拉入地图中

 把销售额也拉入地图中,最后效果如下:

然后点击上图的“焦点模式”模式 

2.着色地图

1.新建视觉对象

2.选择“着色地图”

3)拉入国家和销售额

3. 柱形图、饼状图

4. 矩阵(透视表)

不同产品在不同国家的销售额 

设置视觉对象格式,可以优化透视表

美化后效果:(若设置字体大小,搜索“大小”,然后进行设置)

5.词云

获取更多视觉对象--word cloud

根据自己的需要进行优化

6.雷达图

获取更多视觉对象--Radar Chart

四 数据建模

(1)管理关系

可以删掉默认的关系,新建自己的关系

(2)新建表

如果要新建表,不要直接用“新建表”的功能,而是通过空白查询的方式(主页--获取数据--空白查询--输入数据--添加表名--确定)

以下是新建一张名称为“度量值表”的表(为了方便下面第(4)步的操作,所以取名“度量值表”,也可以根据自己的需要命名)

 创建完记得“关闭并应用”

然后,在数据中可查看到新建的表 

(3)新建列

最好是用新建度量值,而不用新建列(列会占内存,度量值不会

(4)新建度量值

  • 常用函数

a.迭代函数

函数 作用
    SUMX('表',算术表达式)     求和
   AVERAGE('表',算术表达式)     平均值
    AVERAGEX('表',算术表达式)     算术平均值
    MAXX('表',算术表达式)     最大值
    MINX('表’,算术表达式)     最小值
    COUNTX('表',算术表达式)     记录数
COUNTAX函数('表',算术表达式)     计算列中单元格不为空的数目
    PRODUCTX('表',算术表达式)         PRODUCTX('表',算术表达式)   

b. 计算函数

FILTER 的表,必须是维度表,唯一表。

Filter 常用方法:
1.搭配Calculate

Calculate(表达式(度量值),Filter('表名',筛选条件))

在Calculate函数中的直接筛选条件里,我们只能输入:
‘表'[列]= 固定值    或‘表列1<>固定值    
‘表'[列]>= 固定值或‘表’[列]<=固定值‘表[列]>固定值或‘表[列]<固定值

但是遇到如下情况,就要使用Filter函数

[列]=[度量值]、[列]=公式、[列]=[列]
[度量值]=[度量值]、[度量值]=公式、[度量值]=固定值

  • 运用

<1> 新建度量表

为了统一管理度量值,可以新建一张“度量值表”,根据上面(2)操作中的方法

比如要计算store_cost的平均值,那么就新建一个度量值(表工具--新建度量值)。

<2>  使用AVERAGE函数(平均值)

点击“度量值表”,右键“新建度量值”

 

store_cost平均值 = AVERAGE('mayfood sales_fact_1998'[store_cost])

注意:这时候查看度量值时,页面不会有任何的显示

 在报表试图中,新建视觉对象,选择“表格”,拉入度量值,就可以看出结果

增加门店Id维度

<3>  使用Calculate函数(条件语句)

比如筛选store_cost大于其平均值的数据,并对其进行平均值计算

同样使用度量值

步骤一:筛选store_cost大于其平均值的数据

Filter('表名',筛选条件)

FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost]))

步骤二: 使用Calculate函数

Calculate(表达式(度量值),Filter('表名',筛选条件))

store_cost大于平均值 = CALCULATE(AVERAGE('mayfood sales_fact_1998'[store_cost]),FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost])))

增加城市维度

更多筛选条件

A.

多个筛选条件 = CALCULATE(AVERAGE('mayfood sales_fact_1998'[store_cost]),FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost])),'mayfood sales_fact_1998'[store_id] = "1")

 B.

CALCULATE(AVERAGE('mayfood sales_fact_1998'[store_cost]),FILTER('mayfood sales_fact_1998','mayfood sales_fact_1998'[store_cost]>=AVERAGE('mayfood sales_fact_1998'[store_cost])),'mayfood sales_fact_1998'[store_id] in {1,12})

 如果in{}里面是文本,那么应该加双引号" "

 

C. 如果是排除某几个,则用not

 

 

(5)分组

 

结果:


网站公告

今日签到

点亮在社区的每一天
去签到