数据分析SQL环比增长率同比增长率
Posted 小基基o_O
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析SQL环比增长率同比增长率相关的知识,希望对你有一定的参考价值。
概念
环比
- month-on-month ratio
- 连续2个统计周期(比如连续两月)内的量的变化比
环比增长率
- chain growth rate
- 和上期相比较的增长率
-
环
比
增
长
率
=
(
本
期
数
−
上
期
数
)
÷
上
期
数
×
100
%
环比增长率=(本期数-上期数)\\div上期数\\times100\\%
环比增长率=(本期数−上期数)÷上期数×100%
或
环 比 增 长 率 = ( 本 期 数 ÷ 上 期 数 − 1 ) × 100 % 环比增长率=(本期数 \\div 上期数-1) \\times 100 \\% 环比增长率=(本期数÷上期数−1)×100%
同比
- on year-on-year basis
一般情况下是本年第n月与去年第n月比
同比增长率
YoY+%
- 一般是指和去年同期相比较的增长率
-
同
比
增
长
率
=
(
当
年
的
指
标
值
−
去
年
同
期
的
值
)
÷
去
年
同
期
的
值
×
100
%
同比增长率=(当年的指标值-去年同期的值)\\div去年同期的值\\times100\\%
同比增长率=(当年的指标值−去年同期的值)÷去年同期的值×100%
或
同 比 增 长 率 = ( 当 年 的 指 标 值 ÷ 去 年 同 期 的 值 − 1 ) × 100 % 同比增长率=(当年的指标值 \\div 去年同期的值-1) \\times 100 \\% 同比增长率=(当年的指标值÷去年同期的值−1)×100%
SQL(HIVE)
造数据
存在0以及缺失值的情况
CREATE VIEW sale AS
SELECT '2020-01' ym,1000 sales UNION ALL
SELECT '2020-02' ym,800 sales UNION ALL
SELECT '2020-03' ym,1200 sales UNION ALL
SELECT '2020-04' ym,0 sales UNION ALL
SELECT '2020-05' ym,1400 sales UNION ALL
SELECT '2020-06' ym,1500 sales UNION ALL
SELECT '2020-07' ym,NULL sales UNION ALL
SELECT '2020-08' ym,1700 sales UNION ALL
SELECT '2020-09' ym,1800 sales UNION ALL
SELECT '2020-10' ym,1900 sales UNION ALL
SELECT '2020-11' ym,3000 sales UNION ALL
SELECT '2020-12' ym,2000 sales UNION ALL
SELECT '2021-01' ym,1200 sales UNION ALL
SELECT '2021-02' ym,1000 sales UNION ALL
SELECT '2021-03' ym,1400 sales UNION ALL
SELECT '2021-04' ym,800 sales UNION ALL
SELECT '2021-05' ym,1300 sales UNION ALL
SELECT '2021-06' ym,1200 sales UNION ALL
SELECT '2021-07' ym,900 sales UNION ALL
SELECT '2021-08' ym,700 sales UNION ALL
SELECT '2021-09' ym,1000 sales UNION ALL
SELECT '2021-10' ym,1800 sales UNION ALL
SELECT '2021-11' ym,3200 sales UNION ALL
SELECT '2021-12' ym,1500 sales;
环比
SELECT
ym,
sales/LAG(sales,1,NULL) OVER (ORDER BY ym)-1 AS chain_growth_rate
FROM sale;
同比
SELECT
ym,
sales/LAG(sales,12,NULL) OVER (ORDER BY ym)-1 AS year_on_year_growth_rate
FROM sale;
以上是关于数据分析SQL环比增长率同比增长率的主要内容,如果未能解决你的问题,请参考以下文章