• 0 Bytes
  • 2021-04-14 发布

SQL 综合练习讲解专题5:月度数据计算同比与环比

SQL 综合练习讲解专题5:月度数据计算同比与环比
计算出 2017 年 9 月与去年同期对比销售额与会员增长率、上月环比销售额与会员增长率
内容:月份 销售金额 销售量 客单价 会员数 销售同比 销售环比 会员同比 会员环比
说明:
环比=(当月-上月)/上月
同比=(当月-去年同月)/ 去年同月
业务背景和价值说明:
项目的实战背景是二家超市的真实数据,数据时间段是从 20160101 到 20171031。
超市的主要商业场景
1) 在实际工作中同、环比的计算是最常用来判断业务健康度情况的指标
2) 同比、环比以及目标达成率是日常业务分析中,来对业务情况做出评判有基准
商业知识点思考:
1) 除了同比、环比、目标达成率,还有哪些比率类的指标来衡量呢?
2) 当同、环比下降后,接下来应该如何去分析与定位数据变化的原因呢?
SQL 知识点:
子查询
变量定义
逻辑说明:
1、 先统计 9 月的相关指标数据。
2、 创建相关几个变量,用于存储去年 9 月份以及 8 月的相关值。
3、 通过子查询合并一起
--- 参考代码
select order_number
,sale_value
,sale_qty
,kdj
,member_nubmer
,concat(truncate((sale_value-@sale_value)/@sale_value*100,2),'%
') as wb
,concat(truncate((member_nubmer-@member_nubmer)/@member_nubmer*
100,2),'%') as member_wb
,concat(truncate((sale_value-@sale_value_last)/@sale_value_last
*100,2),'%') as wb_last
,concat(truncate((member_nubmer/@member_nubmer_last)/@member_nu
bmer_last*100,2),'%') as member_wb_last
from
(select count(distinct t.SheetID) as order_number
,sum(t.SaleValue) as sale_value
,sum(t.Qty) as sale_qty
,sum(t.SaleValue)/count(distinct t.SheetID) as kdj
,count(distinct t1.MemberID) as member_nubmer
from demo.orderitem t
join demo.orderlist t1 on t1.SheetID = t.SheetID
where t.SDate between '20170901' and '20170930'
and t1.SDate between '20170901' and '20170930'
and t1.ShopID='CDLG'
) t2
join
(select @sale_value :=sum(t.SaleValue)
,@member_nubmer :=count(distinct t1.MemberID)
from demo.orderitem t
join demo.orderlist t1 on t1.SheetID = t.SheetID
where t.SDate between '20170801' and '20170831'
and t1.SDate between '20170801' and '20170831'
an
  • 0页
  • 当前文档由用户上传发布,收益归属用户
  • 下载文档
  1. 1、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  2. 2、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  3. 文档侵权举报QQ:3215808601
SQL 综合练习讲解专题5:月度数据计算同比与环比
计算出 2017 年 9 月与去年同期对比销售额与会员增长率、上月环比销售额与会员增长率
内容:月份 销售金额 销售量 客单价 会员数 销售同比 销售环比 会员同比 会员环比
说明:
环比=(当月-上月)/上月
同比=(当月-去年同月)/ 去年同月
业务背景和价值说明:
项目的实战背景是二家超市的真实数据,数据时间段是从 20160101 到 20171031。
超市的主要商业场景
1) 在实际工作中同、环比的计算是最常用来判断业务健康度情况的指标
2) 同比、环比以及目标达成率是日常业务分析中,来对业务情况做出评判有基准
商业知识点思考:
1) 除了同比、环比、目标达成率,还有哪些比率类的指标来衡量呢?
2) 当同、环比下降后,接下来应该如何去分析与定位数据变化的原因呢?
SQL 知识点:
子查询
变量定义
逻辑说明:
1、 先统计 9 月的相关指标数据。
2、 创建相关几个变量,用于存储去年 9 月份以及 8 月的相关值。
3、 通过子查询合并一起
--- 参考代码
select order_number
,sale_value
,sale_qty
,kdj
,member_nubmer
,concat(truncate((sale_value-@sale_value)/@sale_value*100,2),'%
') as wb
,concat(truncate((member_nubmer-@member_nubmer)/@member_nubmer*
100,2),'%') as member_wb
,concat(truncate((sale_value-@sale_value_last)/@sale_value_last
*100,2),'%') as wb_last
,concat(truncate((member_nubmer/@member_nubmer_last)/@member_nu
bmer_last*100,2),'%') as member_wb_last
from
(select count(distinct t.SheetID) as order_number
,sum(t.SaleValue) as sale_value
,sum(t.Qty) as sale_qty
,sum(t.SaleValue)/count(distinct t.SheetID) as kdj
,count(distinct t1.MemberID) as member_nubmer
from demo.orderitem t
join demo.orderlist t1 on t1.SheetID = t.SheetID
where t.SDate between '20170901' and '20170930'
and t1.SDate between '20170901' and '20170930'
and t1.ShopID='CDLG'
) t2
join
(select @sale_value :=sum(t.SaleValue)
,@member_nubmer :=count(distinct t1.MemberID)
from demo.orderitem t
join demo.orderlist t1 on t1.SheetID = t.SheetID
where t.SDate between '20170801' and '20170831'
and t1.SDate between '20170801' and '20170831'
an