亲测:两款报表软件做时间计算场景

         在大数据时代中,各行各业都会接触到各种数据术语,例如同比、同比增长率。这些术语是用来衡量增长的方式,但是可能令人感到困惑。那么这些术语具体指什么,如何计算,以及它们之间的区别又是什么呢?

        最近公司需要做一些分析指标需要对比与去年的情况,最直观就是同期增长率了,因此我选取了一个2013、2014的零售示例数据,看看哪款工具实现起来比较省事。

这里为了更好说明这里示例,本人也去科普了时间计算的比较通俗的说法,可以往下看了解同比及同比增长率:

同比:是把当年每月与上一年的数据相除计算出的一个比率。即某年与上一年的比值,计算公式为:某个指标的同期比=(当年的某个指标的值-去年同期这个指标的值)/去年同期这个指标的值

同比增长率:是指和去年同期相比较的增长率,即某年与上一年相比较的增长率,计算公式为:同比增长率=(当年的指标值-去年同期的值)÷去年同期的值*100%

一、 同比增长率

同比增长率,在报表中,通常缩写为(YoY+%)一般是指和去年同期相比较的增长率。同比增长和上一时期、上一年度或历史相比的增长(幅度)。发展速度由于采用基期的不同,可分为同比发展速度、环比发展速度和定基发展速度。均用百分数或倍数表示。

案例

以下是使用国内两家报表软件来分别开发的时间计算报表,效果如下

开发界面

通过上面的效果图发现,都能实现,但两者实现的原理不大相同。 finereport是把明细数据拖到报表,再去用函数计算,而spreadsheet则在数据集先完成时间计算,在报表端直接呈现。

解决方法:finereport需要借助辅助列,分别通过数据集将2013、2014的数据分别过滤出来,再在设计器通过计算公司进行计算得出同比增长率

而spreadsheet则在数据集进行处理,他的透视分析数据集能够一键生成时间计算,无需了解公式,只要有时间维度字段,变可以一键生成。之后就在报表直接呈现即可。

在开发报表时,发现finereport有点地方比较难受,调整单元格行列间距时,不能拖拽批量修改。

完成效果:

由于两者的实现逻辑完全不一样,finereport是把明细数据拖到报表,再去用函数计算;而spreadsheet是从数据集将时间计算的结果在数据集得出,后面报表直接取数据集的结果。故其性能也会存在差异。

以下是性能对比情况:示例数据是968条数据的情况下,spreadsheet打开报表的响应时间为100ms左右,finereport为300ms左右,在此场景下相差了3倍。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值