week08day01(power bi)

一 . 同期指标(与之前的对比)

#同期销售额
-- SAMEPERIODLASTYEAR : 自动返回上一年度 的 同一日期

销售额 PY = CALCULATE(
		[Core 销售额],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]) 
	)
	
-- 1.财务想法 : 2019年 和 2018年对比,但是2019年的数据截止到8/20 , 
--但是2018年的数据是完整的(截止12/31)
-- 2.切片器 是动态的
-- 3.注意 : 2019/8/20累计数据 和 2018/8/20累计数据 对比
-- #无论如何 使用CALCULATE 也不能把 同比时间范围 做成一模一样的
-- 那么通过添加列的形式 可以 提前打上标记
-- 在 '维度 日期时间表' 中添加列
-- TREATAS : 把 视图模型中没有建立关联的 表 强制关联
 TREATAS的第一个参数必须是一张单列表 或一个 数组



可比日期 = 
	VAR LastSalesDateindates = 
		TREATAS( { [最后报表日期] } , '维度 日期时间表'[日期]) --定点 2019/8/20日
	VAR LastSalesLastYear = 
		SAMEPERIODLASTYEAR(LastSalesDateindates) --定点 2018/8/20日
	RETURN
	OR(
		'维度 日期时间表'[日期] <= LastSalesLastYear, -- 2019/3/21日 为FALSE
		AND(
			'维度 日期时间表'[日期] <= [最后报表日期], -- 2019/8月20日 以前为TRUE
			'维度 日期时间表'[年] = YEAR([最后报表日期])
                 -- 2019 保证了2018/8/21	~ 2018/12/31日 False
        )
	)



/*
'维度 日期时间表'[日期] <= LastSalesLastYear, -- 2019/3/21日 为FALSE
想表达 2018/8/20 之前的都是 可比日期
 
and(
'维度 日期时间表'[日期] <= [最后报表日期], 
'维度 日期时间表'[年] = YEAR([最后报表日期])
)
这里是想说 2019/8/20 之前的但是 年份需要为2019年
也就将范围限定在2019/1/1 ~ 2019/8/20

总体就是 2018/8/20 ~ 2018/12/31 之间不可比较
*/
销售额 PY View = CALCULATE(
		[Core 销售额],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
折扣率 PY View = CALCULATE(
		[Core 折扣率],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
销售完成率 PY View = CALCULATE(
		[Core 销售完成率],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
门店数 PY View = CALCULATE(
		[门店数],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
店效 PY View = CALCULATE(
		[店效 可比店],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
人效 PY View = CALCULATE(
		[人效 可比店],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
坪效 PY View = CALCULATE(
		[坪效 可比店],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
客单价 PY View = CALCULATE(
		[客单价 正单有效法],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
件单价 PY View = CALCULATE(
		[件单价 正单有效法],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
单据数 PY View = CALCULATE(
		[单据数 正单有效法],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)
	
连带率 PY View = CALCULATE(
		[连带率 正单有效法],
		SAMEPERIODLASTYEAR('维度 日期时间表'[日期]),
		'维度 日期时间表'[可比日期] = TRUE()
	)

二. 数据的宏观性

中国 : 1W美金

人口出生率低 : 母婴行业

  • 3000W

  • 2023:902W

人口数量大量下降 , 一定会导致 需求量 下滑 , 但是有可能 导致 财富聚集 , 导致消费升级 , 服务业人员空缺

带入到商业数据中 : 阿里大数据

人的认知 : 汽车 大家电 手机 电脑

技术含量 : 二醋酸 营销升级 服务升级

三.区域分析(本期指标)

指数数量特别大,所以需要同一种的图片,聚合大量的指标,否则需要很多的小图形或卡片进行显示

本期指标计算(算最后一天 , T+1)

3.1 销售额类

# 今天只能算昨天的数据

昨日 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[日期] = [最后报表日期]
		)
	)
	
本周至今 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[年份周数] = YEAR([最后报表日期])*100 + WEEKNUM([最后报表日期],2)
		)
	)
	
本月至今 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[年月] = YEAR([最后报表日期])*100 + MONTH([最后报表日期])
		)
	)
	
	
本年至今 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[年] = YEAR([最后报表日期])
		)
	)

-- DATESINPERIOD ( <日期列>, <起始日期>, <偏移量>, <间隔单位> )

最近7日 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			DATESINPERIOD('维度 日期时间表'[日期],[最后报表日期],-7,DAY)
		)
	)
	
最近30日 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			DATESINPERIOD('维度 日期时间表'[日期],[最后报表日期],-30,DAY)
		)
	)
	
-- 60日 90日  180日
	
最近1年 销售额 = 
	CALCULATE(
		[销售额 正单有效法],
		FILTER(
			ALL('维度 日期时间表'),
			DATESINPERIOD('维度 日期时间表'[日期],[最后报表日期],-1,YEAR)
		)
	)

3.2 可比店效*

3.3 销售完成率

  DATESINPERIOD ( <日期列>, <起始日期>, <偏移量>, <间隔单位> )

昨日 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[日期] = [最后报表日期]
		)
	)
	
本周至今 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[年份周数] = YEAR([最后报表日期])*100 + WEEKNUM([最后报表日期],2)
		)
	)
	
本月至今 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[年月] = YEAR([最后报表日期])*100 + MONTH([最后报表日期])
		)
	)
	
	
本年至今 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			'维度 日期时间表'[年] = YEAR([最后报表日期])
		)
	)

-- DATESINPERIOD ( <日期列>, <起始日期>, <偏移量>, <间隔单位> )

最近7日 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			DATESINPERIOD('维度 日期时间表'[日期],[最后报表日期],-7,DAY)
		)
	)
	
最近30日 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			DATESINPERIOD('维度 日期时间表'[日期],[最后报表日期],-30,DAY)
		)
	)
	
	
最近1年 销售完成率 = 
	CALCULATE(
		[Core 销售完成率],
		FILTER(
			ALL('维度 日期时间表'),
			DATESINPERIOD('维度 日期时间表'[日期],[最后报表日期],-1,YEAR)
		)
	)

四. 区域分析(同期)

TREATAS( {MaxDate} , '维度 日期时间表'[日期])

昨日 连带率 PY = 
	VAR MaxDate = [最后报表日期] -- 2019/8/20 
	VAR MaxDateWithDates =  TREATAS( {MaxDate} ,'维度 日期时间表'[日期])
	VAR MaxDateLastYear = SAMEPERIODLASTYEAR(MaxDateWithDates) --2018/8/20
	RETURN
		CALCULATE(
			[连带率 正单有效法],
			FILTER(
				ALL('维度 日期时间表'),
				'维度 日期时间表'[日期] = MaxDateLastYear
			)
		)
		
本周至今 连带率 PY = 
	VAR CurYear = YEAR([最后报表日期]) -- 2019
	VAR CurWeeknum = WEEKNUM([最后报表日期],2)
	VAR CurWeekday = WEEKDAY([最后报表日期],2)
	RETURN
		CALCULATE(
			[连带率 正单有效法],
			FILTER(
				ALL('维度 日期时间表'),
				'维度 日期时间表'[年] = CurYear - 1
				&&
				'维度 日期时间表'[周] = CurWeeknum
				&&
				'维度 日期时间表'[星期] <= CurWeekday
			),
			'维度 日期时间表'[可比日期] = TRUE()
		)
		
本月至今 连带率 PY = 
	VAR CurYear = YEAR([最后报表日期]) -- 2019
	VAR CurMonth = MONTH([最后报表日期]) -- 8
	VAR CurYM = (CurYear - 1)* 100 + CurMonth
	RETURN
		CALCULATE(
			[连带率 正单有效法],
			FILTER(
				ALL('维度 日期时间表'),
				'维度 日期时间表'[年月] = CurYM
			),
			'维度 日期时间表'[可比日期] = TRUE()
		)

本年至今 连带率 PY = 
	CALCULATE(
      [连带率 正单有效法],
      FILTER(
        ALL('维度 日期时间表'),
        '维度 日期时间表'[年] = YEAR([最后报表日期]) - 1
      ),
      '维度 日期时间表'[可比日期] = TRUE()
    )
    
 最近7日 连带率 PY = 
	VAR MaxDate = [最后报表日期] -- 2019/8/20 
	VAR MaxDateWithDates =  TREATAS( {MaxDate} ,'维度 日期时间表'[日期])
	VAR MaxDateLastYear = SAMEPERIODLASTYEAR(MaxDateWithDates) --2018/8/20
	RETURN
		CALCULATE(
			[连带率 正单有效法],
			FILTER(
				ALL('维度 日期时间表'),
				DATESINPERIOD('维度 日期时间表'[日期],MaxDateLastYear,-7,DAY)
			)
		)  
		
最近30日 连带率 PY = 
	VAR MaxDate = [最后报表日期] -- 2019/8/20 
	VAR MaxDateWithDates =  TREATAS( {MaxDate} ,'维度 日期时间表'[日期])
	VAR MaxDateLastYear = SAMEPERIODLASTYEAR(MaxDateWithDates) --2018/8/20
	RETURN
		CALCULATE(
			[连带率 正单有效法],
			FILTER(
				ALL('维度 日期时间表'),
				DATESINPERIOD('维度 日期时间表'[日期],MaxDateLastYear,-30,DAY)
			)
		)  
		
最近1年 连带率 PY = 
	VAR MaxDate = [最后报表日期] -- 2019/8/20 
	VAR MaxDateWithDates =  TREATAS( {MaxDate} ,'维度 日期时间表'[日期])
	VAR MaxDateLastYear = SAMEPERIODLASTYEAR(MaxDateWithDates) --2018/8/20
	RETURN
		CALCULATE(
			[连带率 正单有效法],
			FILTER(
				ALL('维度 日期时间表'),
				-- 2018/8/20 ~ 2017/8/20 区间
				DATESINPERIOD('维度 日期时间表'[日期],MaxDateLastYear,-1,YEAR)
			)
		)  

 

五. 生成辅助表

辅助 日期期间表 = 
	SELECTCOLUMNS(
		{
           ("昨日",1),
           ("本周至今",2),
           ("本月至今",3),
           ("本年至今",4),
           ("最近7日",5),
           ("最近30日",6),
           ("最近1年",7)
		},
		"时间区间",[Value1],
		"序号",[Value2]
	)

六.生成动态指标

-- SELECTEDVALUE :如果参数列在当前筛选上下文中只有一个非重复值,则返回该值。 否则,返回备用结果。

动态 销售额 = 
	SWITCH(
		TRUE(),
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "昨日" , [昨日 销售额],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "本周至今" , [本周至今 销售额],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "本月至今" , [本月至今 销售额],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "本年至今" , [本年至今 销售额],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "最近7日" , [最近7日 销售额],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "最近30日" , [最近30日 销售额],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "最近1年" , [最近1年 销售额]
	)
	
	
动态 销售额 PY = 
	SWITCH(
		TRUE(),
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "昨日" , [昨日 销售额 PY],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "本周至今" , [本周至今 销售额 PY],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "本月至今" , [本月至今 销售额 PY],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "本年至今" , [本年至今 销售额 PY],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "最近7日" , [最近7日 销售额 PY],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "最近30日" , [最近30日 销售额 PY],
		SELECTEDVALUE('辅助 日期期间表'[时间区间]) = "最近1年" , [最近1年 销售额 PY]
	)

七. 侧边辅助表

辅助 核心KPI =
	DATATABLE(
		"KPI",STRING,
		"序号",INTEGER,
		{
          	{"销售额",1},
          	{"可比店店效",2},
          	{"销售完成率",3},
          	{"折扣率",4},
          	{"单据数",5},
          	{"客单价",6},
          	{"件单价",7},
          	{"连带率",8}
		}
	)
动态 KPI = 
	SWITCH(
		TRUE(),
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "销售额" , [动态 销售额],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "可比店店效" , [动态 店效],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "销售完成率" , [动态 销售完成率],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "折扣率" , [动态 折扣率],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "单据数" , [动态 单据数],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "客单价" , [动态 客单价],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "件单价" , [动态 件单价],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "连带率" , [动态 连带率]
	)
	
动态 KPI PY= 
	SWITCH(
		TRUE(),
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "销售额" , [动态 销售额 PY],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "可比店店效" , [动态 店效 PY],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "折扣率" , [动态 折扣率 PY],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "单据数" , [动态 单据数 PY],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "客单价" , [动态 客单价 PY],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "件单价" , [动态 件单价 PY],
		SELECTEDVALUE('辅助 核心KPI'[KPI]) = "连带率" , [动态 连带率 PY]
	)
	
动态 KPI YOY% = 
	DIVIDE([动态 KPI] - [动态 KPI PY] , [动态 KPI PY])
	
标题 KPI对比 = 
	SELECTEDVALUE('辅助 日期期间表'[时间区间]) 
	&
	SELECTEDVALUE('辅助 核心KPI'[KPI]) 
	&
	"同期对比"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值