文章目录
概念环比环比增长率同比同比增长率SQL(HIVE)造数据环比同比概念
环比
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(ym,sales) ASSELECT '-01',1000 UNION ALLSELECT '-02',800 UNION ALLSELECT '-03',1200 UNION ALLSELECT '-04',0 UNION ALLSELECT '-05',1400 UNION ALLSELECT '-06',1500 UNION ALLSELECT '-07',NULL UNION ALLSELECT '-08',1700 UNION ALLSELECT '-09',1800 UNION ALLSELECT '-10',1900 UNION ALLSELECT '-11',3000 UNION ALLSELECT '-12',2000 UNION ALLSELECT '-01',1200 UNION ALLSELECT '-02',1000 UNION ALLSELECT '-03',1400 UNION ALLSELECT '-04',800 UNION ALLSELECT '-05',1300 UNION ALLSELECT '-06',1200 UNION ALLSELECT '-07',900 UNION ALLSELECT '-08',700 UNION ALLSELECT '-09',1000 UNION ALLSELECT '-10',1800 UNION ALLSELECT '-11',3200 UNION ALLSELECT '-12',1500;
环比
SELECTym,sales/LAG(sales,1,NULL) OVER (ORDER BY ym)-1 AS chain_growth_rateFROM sale;
同比
SELECTym,sales/LAG(sales,12,NULL) OVER (ORDER BY ym)-1 AS year_on_year_growth_rateFROM sale;