天天看點

親測:兩款報表軟體做時間計算場景

在大資料時代中,各行各業都會接觸到各種資料術語,例如同比、同比增長率。這些術語是用來衡量增長的方式,但是可能令人感到困惑。那麼這些術語具體指什麼,如何計算,以及它們之間的差別又是什麼呢?

最近公司需要做一些分析名額需要對比與去年的情況,最直覺就是同期增長率了,是以我選取了一個2013、2014的零售示例資料,看看那款工具實作起來比較省事。

這裡為了更好說明這裡示例,本人也去科普了時間計算的比較通俗的說法,可以往下看了解同比及同比增長率:

同比:是把當年每月與上一年的資料相除計算出的一個比率。即某年與上一年的比值,計算公式為:某個名額的同期比=(當年的某個名額的值-去年同期這個名額的值)/去年同期這個名額的值

同比增長率:是指和去年同期相比較的增長率,即某年與上一年相比較的增長率,計算公式為:同比增長率=(當年的名額值-去年同期的值)÷去年同期的值*100%

一、 同比增長率

同比增長率,在報表中,通常縮寫為(YoY+%)一般是指和去年同期相比較的增長率。同比增長和上一時期、上一年度或曆史相比的增長(幅度)。發展速度由于采用基期的不同,可分為同比發展速度、環比發展速度和定基發展速度。均用百分數或倍數表示。

案例

以下是使用國内兩家報表軟體來分别開發的時間計算報表,效果如下

親測:兩款報表軟體做時間計算場景

開發界面

通過上面的效果圖發現,都能實作,但兩者實作的原理不大相同。

finereport是把明細資料拖到報表,再去用函數計算,而spreadsheet則在資料集先完成時間計算,在報表端直接呈現。

親測:兩款報表軟體做時間計算場景

解決方法:

finereport需要借助輔助列,分别通過資料集将2013、2014的資料分别過濾出來,再在設計器通過計算公司進行計算得出同比增長率

親測:兩款報表軟體做時間計算場景

而spreadsheet則在資料集進行處理,他的透視分析資料集能夠一鍵生成時間計算,無需了解公式,隻要有時間次元字段,便可以一鍵生成。之後就在報表直接呈現即可。

親測:兩款報表軟體做時間計算場景

在開發報表時,發現finereport有點地方比較難受,調整單元格行列間距時,不能拖拽批量修改。

親測:兩款報表軟體做時間計算場景

完成效果:

親測:兩款報表軟體做時間計算場景

由于兩者的實作邏輯完全不一樣,finereport是把明細資料拖到報表,再去用函數計算;而spreadsheet是從資料集将時間計算的結果在資料集得出,後面報表直接取資料集的結果。故其性能也會存在差異。

以下是性能對比情況:示例資料是968條資料的情況下,spreadsheet打開報表的響應時間為100ms左右,finereport為300ms左右,在此場景下相差了3倍。

親測:兩款報表軟體做時間計算場景
親測:兩款報表軟體做時間計算場景
親測:兩款報表軟體做時間計算場景

繼續閱讀