同比怎么算(销售同比怎么算)
目前应该是有很多小伙伴对于同比怎么算方面的信息比较感兴趣,现在小编就收集了一些与销售同比怎么算相关的信息来分享给大家,感兴趣的小伙伴可以接着往下看,希望会帮助到你哦。
在做数据分析时,我们会经常听到同比、环比的概念。各个企业和组织在发布统计数据时,通常喜欢用同比、环比来和之前的历史数据进行比较,用来说明数据的变化情况。例如,统计局公布2022年1月份CPI同比增长0.9%,环比增长0.6%。

实际在基于数据库的数据分析场景中,环比和同比是典型的复杂计算场景之一,特别是在Oracle等商业数据库的分析函数出现之前。以MySQL为例,在8.0版本中才引入了Lag和Lead函数,这两个函数结合开窗函数有效提高了同比、环比等复杂运算的实现效率。在5.x系列版本中,MySQL需要依赖多次嵌套子查询和自关联才能实现此类计算。
我们以一个简单的例子,来分别看下,MySql 5.x和8.0是具体实现同比、环比计算的。
示例数据见表:
CREATE TABLE sales (`产品ID` varchar(20),`销售数量` int(20) ,`销售时间` timestamp(6) NULL DEFAULT NULL)INSERT INTO sales VALUES ('C1001', 15, '2020-06-01 10:10:12');INSERT INTO sales VALUES ('C1002',26, '2020-05-02 0:10:12');INSERT INTO sales VALUES ('C1003', 21, '2020-04-03 0:10:12');INSERT INTO sales VALUES ('C1003', 23, '2020-04-04 0:10:12');INSERT INTO sales VALUES ('C1003', 0, '2020-03-05 0:10:12');INSERT INTO sales VALUES ('C1001', 16, '2020-02-06 3:0:12');INSERT INTO sales VALUES ('C1002', 32, '2020-01-07 0:10:12');INSERT INTO sales VALUES ('C1001', 16, '2019-12-08 0:12:24');INSERT INTO sales VALUES ('C1001', 32, '2019-06-09 0:12:24');INSERT INTO sales VALUES ('C1002', 17, '2019-05-09 0:12:24');1、MySQL 5.x:通过子查询和关联实现同比和占比计算
以按年月统计不同年份的销售总值,并计算环比(销售总额同比上期)、同比(销售总额同比去年同期)为例。
示例表结构和数据
通过SQL计算环比和同比:
select year(c.销售时间) yy,month(c.销售时间) mm,concat(ifnull(abs(round((sum(c.销售数量)-ss1)/ss1*100,2)),0),'%') 同比,concat(ifnull(abs(round((sum(c.销售数量)-ss2)/ss2*100,2)),0),'%') 环比from sales cleft join (select month(a.销售时间) mm1,year(a.销售时间) yy1,sum(a.销售数量) ss1from sales aGROUP BY mm1,yy1) aon month(c.销售时间) = a.mm1and a.yy1 = year(c.销售时间)-1left join (select month(a.销售时间) mm2,year(a.销售时间) yy2,sum(a.销售数量) ss2from sales aGROUP BY mm2,yy2) bon (b.yy2 = year(c.销售时间) and b.mm2+1 = month(c.销售时间) OR (yy2=year(c.销售时间)-1AND b.mm2 = 12 AND month(c.销售时间) = 1))group by yy, mmorder by yy,mm asc计算结果:
2、MySQL 8.0:通过分析函数实现同比和占比计算
MySql8.0支持了Lead和Lag分析函数,虽然可以大幅提高同、环比计算的效率,但仍然需要编写SQL语句处理。
2.1计算同比:
select t2.年份,t2.月份,concat(round((t2.数量-t1.数量)/t1.数量,2)*100,'%') as 同比 from (SELECT year(销售时间) as 年份,month(销售时间) as 月份,sum(销售数量) as 数量 from salesgroup by year(销售时间),month(销售时间) order by year(销售时间) desc, month(销售时间) desc) t1,(SELECT year(销售时间) as 年份,month(销售时间) as 月份,sum(销售数量) as 数量 from salesgroup by year(销售时间),month(销售时间) order by year(销售时间) desc, month(销售时间) desc) t2 where t1.年份=t2.年份-1 and t1.月份=t2.月份2.2计算环比:
SELECTmm,CONCAT(ROUND(IFNULL((xl - first_xl) / first_xl * 100,2),),'%') AS 环比FROM(SELECTmm,xl,lead (xl, 1) over (ORDER BY mm DESC) AS first_xlFROM(SELECTDATE_FORMAT(销售时间, '%Y-%m') AS mm,sum(销售数量) AS xlFROMsalesGROUP BYDATE_FORMAT(销售时间, '%Y-%m')) t) a在SqlServer2008R2和Oracle10g之后,都提供了Lag和Lead分析函数。具体的计算逻辑和用法与上述MySQL8.0类似。
3、使用BI工具的计算引擎
针对此类复杂的计算场景,商业智能BI数据分析工具提供了更加高效的解决方案。以Wyn Enterprise嵌入式商业智能软件为例,其内置的wax分析表达式和快速计算引擎,提供直接实现同比、环比等复杂计算的能力,而不再需要写复杂冗长的SQL。
3.1 使用内置的同比、环比快速计算功能
同比、环比等计算一般是BI工具的标准功能,我们可以直接通过设置实现。
3.2 使用数据分析表达式
如果内置快速计算无法满足要求,还可以通过分析表达式实现更复杂的计算。分析表达式是一种更加灵活、强大的数据计算方式,通过丰富的函数,用户可以像Excel公式一样自由组合,实现更加强大的分析能力。分析表达式基于数据模型进行业务计算,以一些定义好的函数运用正确的语法来完成某个复杂的业务逻辑计算。这样可以使用户更灵活地使用数据,最大限度的利用数据。
通过对比SQL和BI数据分析工具在处理同比、环比等复杂计算中的差异,我们可以发现,还是专业的工具在数据计算和处理能力上要更加便捷。以后在工作中,如果有类似的分析计算需求,选择BI分析工具来处理是再合适不过的了。
本文结束,以上,就是同比怎么算,销售同比怎么算的全部内容了,如果大家还想了解更多,可以关注我们哦。
相关文章
- 详细阅读
-
? :一手车卖给了二手车商,成交后第二天说车子是事故车,说隐瞒事实?详细阅读
我一手车卖给了二手车商,成交后第二天说车子是事故车,说我隐瞒事实,要求全款退车,我该怎么办? 报警处理。二手车行在车辆鉴定方面是内行,买车人在车辆鉴定...
2022-08-16 3132
-
搞笑短视频题材 :个人短视频槽点题材如何构思?详细阅读
我们反过来看一些搞笑的账号,这些账号虽然粉丝不少,内容也很不错,但是关注搞笑账号的用户,大多数都是为了开心的,所以这样的粉丝群体自然就很难变现。所以我...
2022-08-16 3644
-
91短视频版ios :有哪些苹果手机上能用,你又不愿意让人知道的好用的app呢?详细阅读
在苹果手机中使用的软件,在不越狱的情况下,大多数人都是在苹果商店上下载软件。 但是还有其他的方法可以让你的手机中安装上在苹果商店中没有的软件。 有两个...
2022-08-16 2905
-
短视频作品怎么发 :抖音如何发长视频完整版?详细阅读
抖音是我们熟知的一款非常火爆的短视频软件,在抖音上可以浏览别人的作品,也可以发布自己的作品,那么自己发布作品的时候想要发长视频,怎么发呢?一起来看一下...
2022-08-16 2768
-
短视频用户行为分析 :据说中国近八成手机网民是短视频用户,侵权问题如何解决?详细阅读
侵权这个问题在如今这个自媒体泛滥的时代不好精准定位。 因为一个好的题材自己发布出去可能只需要短短的几分钟时间就能够引起火爆。 平台的大数据根本无法做...
2022-08-16 2300
-
91短视频ios :苹果手机除了app store,还能在哪里下载软件?包括一些破解软件?详细阅读
苹果手机,下载软件,好像只能在苹果手机自带的APP STORE下载吧?我自己从来没有尝试过在其他地方下载,在越狱最火热的年份,我也没有尝试过越狱。 2...
2022-08-16 2347
-
富二代富二代短视频 :为什么现在富二代比穷二代努力?详细阅读
大家好这里是二次元胡辣汤。酸爽可口。 看到这个问题我首先想到了马太效应。富者更富,穷者更穷。这也是一个不争的事实。但是不否认那些努力的年轻人。 富二...
2022-08-16 2214

发表评论