文章源自略懂百科-http://wswcn.cn/14266.html
何罗鱼国际货运业务管理系统的大数据图表里会按月展示收入、支出以及利润图表供管理层决策参考,并有实时计算同比、环比增长或下降比例,同比的算法比较好理解,但环比算法还真要琢磨一下。文章源自略懂百科-http://wswcn.cn/14266.html
同比 Year on Year文章源自略懂百科-http://wswcn.cn/14266.html
同比的计算公式:文章源自略懂百科-http://wswcn.cn/14266.html
同比率=(本期数-同期数)÷|同期数|×100%文章源自略懂百科-http://wswcn.cn/14266.html
同比是以年为维度去做比较,比如今年的第 N 个月(本期数)与去年的第 N 个月(同期数)的比较。文章源自略懂百科-http://wswcn.cn/14266.html
例子:文章源自略懂百科-http://wswcn.cn/14266.html
比如说某货代公司去年3月的利润为100万,本年3月的利润为150万,同比增长是怎么算?文章源自略懂百科-http://wswcn.cn/14266.html
同比增长率=(150-100)÷|100|=50%文章源自略懂百科-http://wswcn.cn/14266.html
注意这个绝对值哟,这个很关键的,代码里没有加的话,当利润为负数时,结果就很有意思了。文章源自略懂百科-http://wswcn.cn/14266.html
环比 Month on Month文章源自略懂百科-http://wswcn.cn/14266.html
环比的计算公式:文章源自略懂百科-http://wswcn.cn/14266.html
环比率=(本期数-上期数)÷|上期数|×100%文章源自略懂百科-http://wswcn.cn/14266.html
看环比的英文写法,大概就可以理解环比是以月为维度做比较的。文章源自略懂百科-http://wswcn.cn/14266.html
但我们在开发的时候却遇到了问题(也许我们想多了,但代码总要写清楚):如何定义上期数?我们讨论了两种不同的方案:文章源自略懂百科-http://wswcn.cn/14266.html
先举例子:文章源自略懂百科-http://wswcn.cn/14266.html
比如说某货代公司本年的利润如下:文章源自略懂百科-http://wswcn.cn/14266.html
月份文章源自略懂百科-http://wswcn.cn/14266.html
利润文章源自略懂百科-http://wswcn.cn/14266.html
1月文章源自略懂百科-http://wswcn.cn/14266.html
100万文章源自略懂百科-http://wswcn.cn/14266.html
2月文章源自略懂百科-http://wswcn.cn/14266.html
150万文章源自略懂百科-http://wswcn.cn/14266.html
3月文章源自略懂百科-http://wswcn.cn/14266.html
80万文章源自略懂百科-http://wswcn.cn/14266.html
4月文章源自略懂百科-http://wswcn.cn/14266.html
200万文章源自略懂百科-http://wswcn.cn/14266.html
根据计算公式我们可以很方便地算出月度的环比:文章源自略懂百科-http://wswcn.cn/14266.html
2月环比(1月)增长了:(150-100)÷|100|=50%文章源自略懂百科-http://wswcn.cn/14266.html
同理3月环比(2月)下降了46.67%;4月环比(3月)增长了150.00%。文章源自略懂百科-http://wswcn.cn/14266.html
但在系统实际使用中,月份是可以多选的,当选中的月份为3月和4月的时候,合计利润280万,问题就出现了,上期数是多少?(280-?)÷|?|=?%文章源自略懂百科-http://wswcn.cn/14266.html
方案一:文章源自略懂百科-http://wswcn.cn/14266.html
上期数=100+150=250万,就是3月+4月的环比(1月+2月)增长=(280-250)÷|250|=12%,这个方案理解起来相对简单,相邻周期作比较,但总感觉这和 Month on Month 不太相符,另外还会有一个问题,当你选择了本年1-12月的时候,得出的环比值就和同比值相同了,网上搜一下,其实很多网友也有这个疑惑:年度的同比与环比怎么算?文章源自略懂百科-http://wswcn.cn/14266.html
方案二:文章源自略懂百科-http://wswcn.cn/14266.html
上期数=150+80=230万,就是3月+4月的环比(2月+3月)增长=(280-230)÷|230|=21.74%,这个理解起来就有点绕了,但好像是可以解释 Month on Month 这种叫法,就是以月度为基数去计算增长。文章源自略懂百科-http://wswcn.cn/14266.html
declare@start_datedate--开始时间declare@end_datedate--结束时间dateadd(month,-1,@Start_date) –环比开始时间dateadd(month,-1,@End_date) –环比结束时间文章源自略懂百科-http://wswcn.cn/14266.html
选择哪一种方案呢?文章源自略懂百科-http://wswcn.cn/14266.html
文章源自略懂百科-http://wswcn.cn/14266.html
评论