公开/公告号CN104991964A
专利类型发明专利
公开/公告日2015-10-21
原文格式PDF
申请/专利权人 苏州国云数据科技有限公司;
申请/专利号CN201510437573.5
申请日2015-07-23
分类号
代理机构苏州创元专利商标事务所有限公司;
代理人范晴
地址 215123 江苏省苏州市工业园区仁爱路258号
入库时间 2023-12-18 11:23:54
法律状态公告日
法律状态信息
法律状态
2018-01-26
授权
授权
2015-11-18
实质审查的生效 IPC(主分类):G06F17/30 申请日:20150723
实质审查的生效
2015-10-21
公开
公开
技术领域
本发明涉及一种同比环比的计算方法,具体地涉及一种基于时间维度的 同比环比计算方法。
背景技术
同比,是指在相邻时段中的某一相同时间点进行比较,同比发展速度主 要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平 对比而达到的相对发展速度。环比,则相对更简单,就是相邻时间段的对比, 环比分为日环比、周环比、月环比和年环比。环比发展速度是以报告期水平 与其前一期水平对比(相邻期间的比较),所得到的动态相对数表明现象逐 期的发展变动程度。
目前市面上针对同比环比的计算大都是通过人工手动计算或类似excel 中函数的方式计算得出。对于数据库或文本等大多数数据源而言,并没有现 有的函数或通用的方法可以直接得出同比环比的结果,需要手工计算,但是 手工计算操作繁琐,耗时量大。因此,市场上亟需一种新的基于业务的数据 分析方法。
发明内容
针对上述技术问题,本发明目的是:提供一种基于时间维度的同比环比 计算方法,该计算方法可以通用于数据库或文本等大多数数据源,简单高效、 易用性强。
本发明的技术方案是:
一种基于时间维度的同比环比计算方法,其特征在于,包括如下步骤:
a.从数据源中获取JSON格式的数据集,所述的数据集至少有一个时 间维度;
b.按时间排序数据集,得到时间维度的时间区间;
c.用时间维度的时间区间的最小值最大值计算同比环比对比值的时间 区间,以区间作为查询范围条件,获取对应数据集;
d.处理不符合同比环比计算公式的异常数据;
e.计算各度量的同比环比值,将计算得到的数据返回给用户,同比环 比的计算公式如下:
环比增长率=(本期数-上期数)/上期数*100%
同比增长率=(本期数-同期数)/同期数*100%。
优选的,所述步骤d包括,同比环比的时间维度区间不存在或仅包含部 分数据集时,采用值空的方式,即相应的同比环比的值为0。
优选的,同一个时间维度可以粒度化为年、季、月、周、日、时、分、 秒。
优选的,所述步骤e中所有数据集放在内存中计算。
与现有技术相比,本发明的优点是:
1.通用性:数据源可以是任意类型,数据库,文本,开发api等,只 要将需要计算的数据集规范为JSON格式,且数据集中至少有一个时间的维 度,本发明就是通用的方法。
2.易用性:可任意选择哪些度量值需要同比或环比或同环比计算,一 步计算所有已选度量同环比值。
3.时间粒度可选:同一个时间维度可以粒度化为年季月,甚至周时分 秒。
4.高效性:所有数据集都放在内存中计算,因此具有高效快速的计算 能力。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明基于时间维度的同比环比计算方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施 方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例 性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结 构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
如图1所示,本发明公开一种基于时间维度的同比环比的计算方法,包 括以下步骤:
a.获取JSON格式数据集:从数据源获取JSON格式的数据集,并且 至少有一个时间维度,数据源可以是任意类型,数据库、文本、开放api等。
b.按时间排序数据集,得到时间维度的时间区间:可格式化时间维度 的粒度为:年、季、月、周、日、时、分、秒,获取时间维度的最大最小值, 查询同比环比的时间区间的数据集。
c.获取同比环比对比值的时间区间:用时间维度的时间区间的最小值 最大值计算,如:时间区间为[2014-10-11,2015-05-20],则计算得出同比的 时间区间为[2013-10-11,2014-05-20],环比的时间区间为 [2014-09-11,2015-04-20]。
d.根据同比环比时间区间获取对应数据集:以区间作为查询范围条件, 请求数据库或连接数据源获取需要对比的数据集。
e.处理不符合同比环比计算公式的异常数据:同比环比的时间维度区 间不存在或仅包含部分数据集时,采用值空的方式,即相应的同比环比的值 为0。
f.计算各度量的同比环比值:同比环比的计算公式如下:
环比增长率=(本期数-上期数)/上期数*100%
同比增长率=(本期数-同期数)/同期数*100%。
数据返回给用户的是JSON格式,用户基于数据可以做二次分析或者直 接使用其他可视化工具进行展示。
所有数据集都放在内存中计算,具有高效快速的计算能力。
下面结合具体的实例进行说明:
实施环境:win7操作系统、mysql数据库。
数据源:demodb数据库下有一张trade表。
1.表结构如下:
2.trade表记录如下:
获取同比环比步骤:
1.将gmt_create设为时间维度,trade_fee设为度量
2.按时间排序表记录,排序后如下:
3.格式化时间维度为月,度量作SUM聚合,计算得出同比时间区间 为[2011-08,2014-06],环比时间区间为[2012-07,2015-05],以时间区间请求数 据库,并过滤掉gmt_create=Null的异常数据,得出数据如下(时间格式化, 聚合后数据):
(1)同比对比数据,如下表:
(2)环比对比数据,如下表:
4.根据计算公式计算同比环比值,不存在则设为0:
基于计算结果做二次分析或者直接使用其他可视化工具进行展示。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释 本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和 范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保 护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和 边界、或者这种范围和边界的等同形式内的全部变化和修改例。
机译: 基于时间维度中资源可用性的服务功能链
机译: 基于时间维度对加密数字资产进行分段锁定和融合控制的方法
机译: 用于车辆导航系统的行程时间计算方法,涉及基于目标引导装置的配置来调整行程时间计算算法的预设参数