一文看懂?dāng)?shù)據(jù)分析必備計(jì)算功能—內(nèi)存計(jì)算

??????? 各位數(shù)據(jù)的朋友,大家好,我是老周道數(shù)據(jù),和你一起,用常人思維+數(shù)據(jù)分析,通過數(shù)據(jù)講故事。
??????? 接下來(lái),我們準(zhǔn)備講一系列的奧威BI軟件的內(nèi)存計(jì)算在各種分析場(chǎng)景中的應(yīng)用。在正式開講之前,我先簡(jiǎn)單說一下,內(nèi)存計(jì)算是什么,內(nèi)存計(jì)算有什么作用。

????? 1、內(nèi)存計(jì)算是什么?
????? 大家都知道,BI軟件的主要技術(shù)原理是從數(shù)據(jù)源(如數(shù)據(jù)庫(kù)或EXCEL)中獲取數(shù)據(jù),然后進(jìn)行必要計(jì)算,再將結(jié)果展示出來(lái)。而這些計(jì)算,有兩種方式來(lái)實(shí)現(xiàn),一種是在后臺(tái)將結(jié)果計(jì)算好,前端只是展示;另一種則是在前端完成計(jì)算并展示。
??????? 前一種的后臺(tái)計(jì)算部分需要專業(yè)的IT開發(fā)人員才能做到,而后一種的前端計(jì)算呢?早期的計(jì)算是通過函數(shù)。有EXCEL經(jīng)驗(yàn)的人都知道,EXCEL里有很多的函數(shù)來(lái)實(shí)現(xiàn)各種各樣的計(jì)算,這種場(chǎng)景下,對(duì)于使用者的要求仍然是非常高的,同時(shí),大家也會(huì)有一種感受:在EXCEL中計(jì)算是基于單元格。當(dāng)有很多行的數(shù)據(jù)量時(shí)計(jì)算的效率是很低的。
??????? 那怎么做到既可以在前端0代碼0函數(shù),又可以高效計(jì)算呢?隨著計(jì)算機(jī)硬件資源中內(nèi)存資源的成本快速下降,基于內(nèi)存計(jì)算的技術(shù)也應(yīng)運(yùn)而生。
??????? 內(nèi)存計(jì)算:在內(nèi)存中實(shí)現(xiàn)批量的計(jì)算。
??????? 2、內(nèi)存計(jì)算有什么作用?
??????? 從計(jì)算機(jī)的原理來(lái)說,CPU是計(jì)算核心,但計(jì)算的數(shù)據(jù)總要有地方存貯,效率最高的存貯區(qū)域就是CPU的緩存,因?yàn)樗xCPU最近,但CPU的緩存太小,目前CPU的緩存仍然是以M來(lái)計(jì)量,所以,基本上想用也用不了。而次佳選擇就是內(nèi)存了,內(nèi)存可以用G甚至T來(lái)計(jì)量,足夠大,又足夠快。再次之才是硬盤。硬盤雖然空間更大,但存取太慢。所以內(nèi)存計(jì)算就是最大限度的減少與存貯在硬盤上的數(shù)據(jù)庫(kù)的交互,讓大量的數(shù)據(jù)計(jì)算在內(nèi)存中完成。原理很簡(jiǎn)單,但最終能實(shí)現(xiàn)還是得益于內(nèi)存硬件容量、性能的大幅提升,以及成本大幅的降低。
??????? 舉例說明:
??????? 假設(shè)我們要做一個(gè)銷售收入的同比分析,通常需要看到當(dāng)期的銷售收入,然后還要看到去年同期的銷售收入,然后再根據(jù)這兩列來(lái)計(jì)算增長(zhǎng)率。
??????? 傳統(tǒng)情況下:需要IT小強(qiáng)在后臺(tái)通過復(fù)雜的存貯過程計(jì)算得到這三列,然后再將結(jié)果查詢出來(lái)。
??????? 基于內(nèi)存計(jì)算:則只需要智能的生成不同的時(shí)間條件,分別將當(dāng)期收入與去年同期收入加載到內(nèi)存中,然后在內(nèi)存中進(jìn)行增長(zhǎng)率的計(jì)算,最后在前端展示相應(yīng)的結(jié)果。
??????? 大家可能會(huì)感覺,這好像沒什么區(qū)別啊。計(jì)算的邏輯肯定是一樣的,真正區(qū)別在于如果不用內(nèi)存計(jì)算,當(dāng)小麗想做某個(gè)同比分析的報(bào)表時(shí)就必須找IT小強(qiáng),而小強(qiáng)可能需要半天的功夫才能完成;如果用內(nèi)存計(jì)算,小麗自己就可以完成了,拖拽一下,秒級(jí)響應(yīng)。
??????? 你如果是小強(qiáng),你雖然希望每天都看到小麗水汪汪的大眼睛,但你愿意一天到晚不停的做報(bào)表嗎?你如果是小麗,你希望一有想法就得去找強(qiáng)哥,還得等上半天嗎?
?
??????? 我們接下來(lái)要講的內(nèi)存計(jì)算包括:
??????? 同比環(huán)比:這是最為常見的分析方式,適用于任意指標(biāo)。
??????? 期初、期末:常用在分析科目余額,庫(kù)存余額,應(yīng)收余額中。
??????? 本年累計(jì)+同比:常用在分析關(guān)鍵經(jīng)營(yíng)指標(biāo),比如本年累計(jì)收入或本年累計(jì)收入同比。
??????? 近期篩選:比如想分析近12個(gè)月或近30天的銷售收入趨勢(shì)。
??????? 排名+同環(huán)比:比如想知道每個(gè)業(yè)務(wù)員的銷售排名,還想知道與去年同期或上期對(duì)比,排名是升是降?
??????? TOPN或TOPN%:比如想知道客戶銷售TOP10,或產(chǎn)品銷售TOP80%。
??????? 占比+TOP占比:比如想知道每個(gè)區(qū)域的銷售占比,或者看TOP10城市的銷售占比。
??????? 累計(jì)占比:比如想按質(zhì)量原因來(lái)制作帕累托圖。
??????? 跨表計(jì)算:比如從銷售中取銷售金額,從庫(kù)存中取庫(kù)存余額,進(jìn)行銷售與庫(kù)存的相關(guān)性分析。
?????? 內(nèi)存計(jì)算再計(jì)算、排序與篩選:比如想知道哪些產(chǎn)品連續(xù)三個(gè)月銷量持續(xù)下降?
??????? 老周道數(shù)據(jù),和你一起,用常人思維+數(shù)據(jù)分析,通過數(shù)據(jù)講故事,我們下一講再見!