PowerBI

PowerBI,一个继承于excel,超越excel的数据分析和数据可视化工具,或者市面上其他的工具,都统称为BI工具,基本上,学习PowerBI,就是在学习Excel的Power Query、Power Pivot、Power Map、Power View这四个组件。

用powerbi,基本上就可以告别excel自动化报表,从它的基本原理,powerbi是excel的上位替代品。

以下示例数据用于说明函数,实际例图为本人用其他的数据做出的图,与示例数据无关。

组件介绍

● PowerQuery;一种嵌入Excel数据处理技术,用于数据清洗,可创建唯一的表格形状,将数据进行清洗和加工,以满足数据分析需求;

● PowerPivot:一种数据建模技术,用于创建数据模型,建立关系和创建计算,可以处理大型数据集,构建广泛的关系及创建复杂的计算;

● Power View:一种数据可视化技术,用于创建交互式图表、图形、地图和其他视觉效果,可以直观的呈现数据信息和数据结果;

● Power Map:一种三维数据可视化工具,可以在三维地球或自定义地图上绘制地理和时态数据,用于地图的三位视觉可视化呈现

PowerBI基础功能介绍

获取数据

在主页界面,点击获取数据,一般有两种选择:文,数据库。

文件就是导入计算机内部文件,数据库就是连接本地既有数据库。

视觉对象

即PowerBI内嵌的一些数据图表模板。推荐自己手动去尝试这些物件的功能,这里仅做一个功能的介绍

KPI Indicator

用于展示目标值与实际值的差值

Bullet Chart

用来展示分类字段实际值与目标值的差值

与它同类型的还有Bullet Chart by OKViz

RadialBarChart

径向条形图,用来展示分类字段的数据达成情况。视觉有点反直觉,看着美观,慎用

Animated Bar Chart Race

动态演示数据达成(各视频动态可视化常客)

WordCloud

词云

RadarChart

雷达图

Infographic Designer

信息图,将原有的描述统计常用图标(柱)换成一些自定义图标

Tornado chart

蝴蝶图,用于分类对比

Quadrant Chart

象限图,分2*2的维度信息

Histogram Chart

直方图

Pareto Chart

帕累托图

Bubble Chart by Akvelon

气泡图

Box and Whisker chart

箱线图

Grid by MAQ Software

数据表,有点像数据透视表

Sparkline by OKViz

共X轴折线图

Cluster Map

集群地图,也可以做气泡图

技巧-切片器上下或左右显示指定顺序

指定顺序的需求常见一些字段是定类,但是有一定顺序的,比如季节,季度,然后当你将字段放入切片器后发现它的显示没有按照其既定顺序排列,则要进行一定的显示顺序的调整,具体调整步骤如下:

点击转换数据→点击输入数据→在表中按想要的顺序写入主表中字段列的各单元,并在右边建立顺序列→与主表建立多对一的关系→建立切片器后点击按列排序,选择[顺序]

RFM用户分层模型

介绍

RFM模型是衡量客户价值和客户创利能力的重要工具和手段,通过一个客户的近期购买行为、购买的总体频率以及消费额度三个指标来描述该客户的价值状况。

其中R是交易间隔,F是交易频次,M是交易额度

通过使用RFM模型对客户进行分类,可将客户分为8大客户群体(2是高价,1是低价):

222-重要价值会员

221-潜力会员

212-重要深耕会员

211-新会员

122-重要召回会员

121-一般保持会员

112-重要挽留会员

111-流失会员

函数理解

MAXX 函数:MAXX(<table>, <measure>)

在给定的表中,对所有的行应用指定的度量值,返回这些度量值中的最大值。

FILTER 函数:FILTER(<table>, <expression>)

创建一个表的子集,只包含满足指定条件的行。

EARLIER 函数:EARLIER(<expression>)

在当前的计算上下文中,返回之前迭代中计算的表达式的值。

SUMMARIZE函数:SUMMARIZE(table, [column], [expression], ...)

用于创建一个聚合表,该表可以包含列的分组和聚合值。

DISTINCTCOUNT函数:DISTINCTCOUNT(expression)

用于计算一个表达式中不同值的数量。这个函数通常用于计算表或列中的唯一值的数量。

SWITCH函数:SWITCH(expression, value1, result1, [value2, result2], ..., [default])

将expression中的任意符合value条件的转化为result条件
 

函数示例数据

实操

①对数据进行预处理

载入数据后,一般首先进行重复值,缺失值和异常值的处理。

可以直接右键某一字段进行重复值的删除。

对于缺失值,可以使用Power Query编辑器删除包含缺失值的行。

对于异常值,可以先用箱线图识别异常值所在,再决定对该异常值进行何种处理(删除或挑出)。

然后是数据的属性变换,除了一些可能常见的字符串和数值属性混淆以外,还应该将日期列类型更改为日期,这很重要。

这样,基本的预处理就完成了。在主页点击“关闭并应用”即可。

②计算R、F、M值

(1)首先在数据界面,将日期格式修改为yyyy/mm/dd

新建列,写入DAX函数,计算“最后一个交易日期”

latest_order_date=MAXX(FILTER('Orders',EARLIER('Orders'[Uid])='Orders'[Uid]),'Orders'[Order_Date])

逻辑:

  • 迭代:表达式在 ‘Orders’ 表的上下文中迭代每一行。
  • 筛选:对于当前Orders迭代中的每一行,FILTER 函数创建一个行的子集,其中包含所有具有相同 Uid 的订单。这是通过比较当前行的 Uid(通过 EARLIER 函数引用)与 ‘Orders’ 表中所有行的 Uid 来实现的。
  • 最大值:在由 FILTER 创建的每个 Uid 的子集中,MAXX 函数找到 ‘Order_Date’ 列的最大值,即该 Uid 的最后一个订单日期。

最后一个交易日期的日期格式也自定义为yyyy/mm/dd格式

再新建一列,计算R的值,并将其转化为整数

R = DATE(当前年,当前月,当前天)-'Orders'[latest_order_date].[Date]

(2)接着选择“新建度量值”,再输入函数设置F

F = DISTINCTCOUNT('Orders'[Order_Id])

同样的方式设置M

M = SUM('Orders'[Pay_Amt])

(3)接着点击新建表,设置函数

RFM = SUMMARIZE('Orders','Orders'[Uid],'Orders'[R],"F",[F],"M",[M])

(4)计算R,F,M各自得分(新建列)

R得分 = IF('RFM'[R]<=AVERAGE(RFM[R]),2,1)

F得分 = IF('RFM'[F]>=AVERAGE(RFM[F]),2,1)

M得分 = IF('RFM'[M]>=AVERAGE(RFM[M]),2,1)

新开一列得到确切的RFM值:RFM = 'RFM'[R得分]&'RFM'[F得分]&'RFM'[M得分]

(5)最后使用SWITCH函数将其分为8类

会员分组 = SWITCH( 'RFM'[RFM],

"111","流失会员","112","重要挽留会员","121","一般保持会员","122","重要唤回会员","211","新会员","212","重要深耕会员","221","潜力会员","222","重要价值会员")

③数据可视化

点击模型,将orders表和RFM表用各自主键(uid)创联起来,此时可以研究例如:

(1)会员分布情况

点击簇状条形图,将会员分布拖到轴和值,值设置为计数。

(2)会员占比情况

点击圆环图,将会员分布拖到图例和值,值设置为计数。

(3)不同会员的业绩贡献率

点击瀑布图,将会员分布拖到类别,值设置为占M总和的百分比

(4)查看具体明细

将要查看的明细直接拖入到值

(5)其他突出的要呈现的信息

选择卡片图,拖入对应字段,修改命名即可

帕累托法则可视化

介绍

二八法则也叫帕累托法则, 源于经典的二八法则,该法则表示,20%的变量将直接产生80%的效果。在数据分析中,则可以理解为20%的数据产生了80%的效果,需要围绕这20%的数据进行挖掘,然后思考如何让其余的80%向这20%转化。

函数理解

CALCULATE函数:CALCULATE(expression, [filter1], [filter2], ...)

用于在给定一个或多个筛选条件的情况下重新计算一个表达式。它改变了上下文,允许你根据特定的筛选器来计算度量值或表达式。

ALLSELECTED函数:ALLSELECTED([table])

回当前报表筛选上下文中的所有选定项,但在计算时忽略任何其他筛选器。

SUMX函数:SUMX(table, expression)

table: 要对其执行计算的表。expression: 对于表中的每一行,要计算的表达式。

ROUND函数:ROUND(number, num_digits)

number: 要四舍五入的数值。num_digits: 指定要四舍五入到的位数

TOPN函数:TOPN(number_of_records, table, column, [order])

number_of_records: 整数,指定要返回的记录数。table: 要从中选择记录的表。column: 基于哪个列对表中的记录进行排序。[order]: 可选参数,指定排序顺序,可以是 ASC(升序)或 DESC(降序)。如果不指定,默认为 升序。

函数示例数据

实操

①导入数据,数据清洗-前述已讲

要确保有无重复值的列才可以使用下述建模,比如在这里[货号]就是无重复值的一个

②数据建模

帕累托图建模:

(1)计算销售金额

销售金额 = SUM('商品销量'[销售额])

(2)使用CALCULATE,FILTER函数计算累计销售额

累计销售额 = CALCULATE([销售金额],FILTER(ALLSELECTED('商品销量'),SUM('商品销量'[销售额])<=[销售金额]))

(3)计算总销售额

总销售额 = CALCULATE([销售金额],ALLSELECTED('商品销量'))

(4)累计占比

累计占比 = DIVIDE([累计销售额],[总销售额])

帕累托2/8的前20%(或者前重要的比例)建模:

(1)新建款式数量(销量)度量值和其20%款式数量的定义度量值:

款式数量(或者销量) = CALCULATE(DISTINCTCOUNT('商品销量'[货号]),'商品销量'[销售额]>0)

20%款式数量 = ROUND([款式数量]*0.2,0)

(2)前20%销售额,按照销售金额降序排列:

前20%销售额 = SUMX(TOPN([20%款式数量],ALL('商品销量'[货号]),[销售金额],DESC),[销售金额])

(3)前20%销售占比:

前20%销售占比=DIVIDE([前20%销售额],[销售金额])

③数据可视化

可将以上四个度量值与“商品号/货号等等”和“销售额”放入一块表中,用销售额逆序排列即可。

(1)可视化帕累托图

可以立一个表,将货号和销售额,销售金额,累计销售额,总销售额,累计占比放入。

设置一个80%分界线度量值:

80%分界线 = 0.8

在可视化中选择组合图,将货号拖入到共享轴(X轴),销售金额拖入到列值,累计占比和80%分界线拖入到行值,作为一个次坐标轴

(2)查看前20%商品销量情况

可以立一个表,跟帕累托图的表一致,拖入的行值用于分类,可以选择想要了解的定类字段

业绩分析管理系统

业绩分析是将销售员的业绩目标和实际销售情况放在一起进行衡量、评价,适用于做业绩监控体系。(回顾视觉对象即可自定义,比较重要的:①仪表盘②子弹图)

除此之外,powerbi还有许多可以用视觉对象做到的图,例如地图数据,动态数据(常见的动态排名可视化)等,使用方便简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值