PowerBI时间智能

https://zhuanlan.zhihu.com/p/88528732

构造日期表

Calendar =
ADDCOLUMNS (
    CALENDAR ( DATE ( 2017, 1, 1 ), DATE ( 2020, 12, 31 ) ),
    "年", YEAR ( [Date] ),
    "季度", "第"
        & ROUNDUP( MONTH ( [Date]) / 3, 0) & "季度",
    "月", MONTH ( [Date] ),
    "月份", MONTH ( [Date] )& "月",
    "年月", FORMAT ( [Date], "YYYY/MM" )
)

时间智能函数

常用时间计算指标

缩写 英文 解释
YTD Year To Date 年初至今的累计
QTD Quarter To Date 季度初至今的累计
MTD Month To Date 月初至今累计
YOY Year On Year 与去年同期变动的百分比(同比)
MOM Month On Month 与上月变动的百分比(环比)

常用时间智能函数

函数 说明 参考的相似函数
TOTALYTD 年累计 DATESYTD
TOTALYQTD 季度累计 DATESQTD
TOTALYMTD 月累计 DATESMTD
DATEADD 日期推移 SAMEPERIODLASTYEAR
PARALLELPERIOD 某一期间的总数
当一年的时间还未完全结束,时间应该小于今天

年累计=TOTALYTD(SUM('销售表'[销售金额]),'销售表'[销售日期],'销售表'[销售金额]

财年的使用(“6-30”或“30-6”不同电脑设置不一样)

年累计=TOTALYTD(SUM('销售表'[销售金额]),'销售表'[销售日期],'销售表'[销售金额]

时间推移函数DATEADD

往前推一年

前一年数据=DATEADD('销售表'[销售日期],-1,YEAR)

YOY(同比)

今年销售额=SUM('销售表'[销售金额])
去年销售额=CALCULATE([今年销售额],DATEADD('销售表'[销售日期],-1,YEAR)

YOY=DIVIDE([今年销售额]-[去年销售额]),[去年销售额])

MOM(环比)

本月销售额=SUM('销售表'[销售金额])
上个月销售额=CALCULATE([今年销售额],DATEADD('销售表'[销售日期],-1,MONTH)

MOM=DIVIDE([本月销售额]-[上个月销售额]),[上个月销售额])

工作日

=WEEKDAY([日期],2)

无法跳过节假日
=IF(WEEKDAY([日期],2)>5,"周末","工作日")

查询语句

返回的是一张表格

=FILTER('销售记录','销售记录'[产品]="自行车")

=CALCULATE(SUM('销售记录'[金额],'销售记录'[产品]="自行车")

summarize:汇总功能,相当于group by

summarize(表格,汇总列1,....,"名称",表达式)

返回的是一张表格,最终的结果是汇总所有订单下的销售金额总和
=summarize('销售记录','销售记录'[订单编号],"金额",'销售记录'[销售金额])

RFM分析

定义:

类别 含义 分析语言 演示公式
R Recent近度 最近一次交易到今天的天数 MIN([近度]);[近度]=TODAY()-[下单日期]
F Frequency频度 交易次数 DISTINCTCOUNT([订单编号])
M Monetary平均消费额度 交易金额/交易次数 DIVIDE(‘销售记录’[销售金额],‘销售记录’[订单数量])

客户分类:

R F M 客户类型
重要价值客户
重要保持客户
重要发展客户
重要挽留客户
一般价值客户
一般保持客户
一般发展客户
一般挽留客户
近度
近度=today()-[下单日期]         (新建列)
R=MIN([近度])                       (度量值)

订单的不重复计数
F=DISTINCTCOUNT([订单编号])                (度量值)

M=DIVIDE('销售记录'[销售金额],'销售记录表'[F])            (度量值)

=SUMMARIZE('销售记录','销售记录'[客户名称],'销售记录'[客户ID],"R",'销售记录'[R],"F",'销售记录'[F],"M",'销售记录'[M])

在这里插入图片描述
PowerBI时间智能_第1张图片
PowerBI时间智能_第2张图片

GENERATE(笛卡尔积表)

=generate(表1,表2)

PowerBI时间智能_第3张图片

高级聚合函数

函数 说明
SUMX 求和
AVERAGEX 求平均值
MAXX 求最大值
MINX 求最小值
COUNTX 数值格式的计数
COUNTAX 所有格式的计数
MEDIENX 求中位值
RANKX 排名
SUMX:求表达式里的和(单价*金额)
=SUMX('销售记录','销售记录'[单价]*'销售记录'[数量])

常用的筛选器函数

函数 说明
FILTER 按条件筛选数据
VALUES 返回列或者表去重后的结果\
TOPN 返回前几名的数据\
ALL 所有数据
ALLEXCEPT 所欲数据除了…
ALLNONBLANKROW 返回非空白的数据

FILTER

=FILTER('销售记录','销售记录'[产品]="自行车")

VALUES

返回非重复的一列值(去重之后的数据)
=VALUES('销售记录'[产品名称])

TOPN

这张表的前3行
TOP3=TOPN(3,'销售记录')

销售金额的前3(默认降序)
TOP3=TOPN(3,'销售记录','销售记录'[金额])
升序
TOP3=TOPN(3,'销售记录','销售记录'[金额],ASC)

ALLEXCEPT(除什么之外的所有)

返回新的一张表里面会少“产品名称”这一列
=ALLEXCEPT('销售记录','销售记录'[产品名称])

PowerBI时间智能_第4张图片
在这里插入图片描述
求区域经理对应的销售金额,区域经理跟销售记录,省份区域都没有关联

=SUMX(FILTER('销售记录','区域经理'[区域]=RELATED('省份区域'[区域])),'销售记录'[金额])

EARLIER

=SUMX(FILTER('产品销售表',EARLIER('产品销售表'[销售金额])<='产品销售表'[销售金额]),'产品销售表'[销售金额])

在这里插入图片描述
累计百分比(all)

='产品销售表'[销售金额]/sumx(all('产品销售表'),'产品销售表'[销售金额])

在这里插入图片描述
使用earlier进行排名

=COUNTROWS(FILTER('产品销售表',EARLIER('产品销售表'[销售金额])<='产品销售表'[销售金额]))+1

PowerBI时间智能_第5张图片
EARLIER区分新老客户
金额有数值就是老客户,空白的就是新客户

=IF(SUMX(FILTER('销售记录',EARLIER('销售记录'[客户ID])='销售记录'[客户ID]&&EARLIER('销售记录'[下单日期])>'销售记录'[下单日期],'销售记录'[金额])>0,"老客户","新客户")


PowerBI时间智能_第6张图片

%=[销售额]/CALCULATE([销售额],ALL'产品分类'))

USERELATIONSHIP

两张表之间是虚线关系,需要用USERELATIONSHIP来表明关系
PowerBI时间智能_第7张图片

=CALCULATE(SUM([数量]),USERELATIONSHIP('销售记录'[实际送货日期],'日历年'[日期]))

RELATEDTABLE

排名:可以展开二级分类,在分类里可以有自己的排名
PowerBI时间智能_第8张图片

参数DESC/ASC,升降序;Dense/Skip:相同排名是否跳过去
=RANKX(ALLSELECTEC('产品分类'),'销售记录'[销售额])

为了排除总计算进去排名

HASONEVALUE:在这张表里找到的产品名称就是TRUE,没有就是FALSE
H=HASONEVALUE('产品分类'[产品名称])

=IF(H,RANKX(ALLSELECTEC('产品分类'),'销售记录'[销售额]),BLANK())

TOP10分析
根据切片器的选择进行排名规则,前N名
PowerBI时间智能_第9张图片
PowerBI时间智能_第10张图片
PowerBI时间智能_第11张图片

MIN=MIN('排序依据'[ID])

SWITCH=SWITCH('排序依据'[MIN],1,'销售记录'[销售额],2,'销售记录'[销售数量],3,'销售记录'[订单数量])

RANK=RANKX(SUMMARIZE(ALL('销售记录'),'销售记录'[客户名称],'排序依据'[SWITCH])

经销商RFY分析

缩写 解释 公式
R Reach,达成 DISTINCTCOUNT([客户名称])
F Frequency,频率 订单数/客户数
Y Yield,收益 销售额/订单数

在这里插入图片描述
使用父子层级
在这里插入图片描述
在这里插入图片描述

创建层级
层级path=path('打车记录'[姓名],'打车记录'[经理])

层级深度
=PATHLENGTH('打车记录'[层级path])

移动平均
PowerBI时间智能_第12张图片

PowerBI时间智能_第13张图片
PowerBI时间智能_第14张图片
用量增长分析

当月MTD=TOTALMOD('用量'[总用量],'日历年'[日期],'日历年'[日期]'

https://www.jianshu.com/p/78562efa28fe

https://blog.csdn.net/weixin_36135773/article/details/78809392

https://zhuanlan.zhihu.com/p/35982521

你可能感兴趣的:(Power,BI)