1. 程式人生 > >深入淺出“跨檢視資料粒度計算”--1、理解資料的粒度

深入淺出“跨檢視資料粒度計算”--1、理解資料的粒度

此文已由作者王文開授權網易雲社群釋出。

歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。


跨檢視資料粒度計算(Cross-Granularity Calculation)是網易有數推出的新功能,CGC的優點是您可以獨立於當前檢視用的維度來執行此計算。CGC計算表示式一共有三種,分別是:FIXED,INCLUDE,和EXCLUDE。為了理解網易有數的CGC在何時/何地/為什麼需要使用它,我們首先必須理解:

1、什麼是資料粒度?

2、在網易有數中哪些地方會影響檢視的資料粒度

一、什麼是資料的粒度?

我們假設有一個的表格,其中包含以下欄位:OrderID,Customer Name和Sales。一共有12行記錄:


                              基礎明細資料

這個表格資料中,OrderID是主鍵,所以這張表的最明細的資料粒度就是OrderID這個欄位,因為這個欄位能夠區分表中每一條記錄。所以可以這麼來理解:

能夠區分每一行資料的欄位稱之為該資料的最細粒度。

在這個例子中,我們對“Sales”這個欄位進行求平均值。我們按照最細的資料粒度來,是對所有12條記錄進行求平均值。


                               求平均值

我彙總了Sales整列,然後將它除以總行數,即3,059.00除以12。這個結果是每個記錄的平均銷售額為 254.92。

在網易有數中,如果你僅僅將“Sales”欄位拖入圖表後,聚合方式選擇“平均值”,不放置任何其他維度的時候,可以看到,網易有數會預設使用最細的粒度進行計算。


                                                     銷售額平均值

我們可以看到,這和將“OrderID”放置在Y軸,然後在再對“Sales”進行求平均值,結果是一樣的。


接下來,我們考慮使用原始資料中的“Customer Name”維度,來改變“Sales”的聚合粒度。比如我在網易有數中提出了以下的問題:

每位顧客的平均銷售額是多少?

現在我們先按照“Customer Name”欄位進行排序,重新排列我們表格的資料。


                                 按客戶名稱排序

接著,讓我們按“Customer Name”欄位對我們的所有訂單進行分組,並按客戶的銷售額進行彙總。


                                  按客戶進行分組

最後,我們可以像以前一樣對“Sals”整列進行求和,然後除以新的行數。在這種情況下,我的分母將是8個客戶,而不是原來的12條記錄了。結果是每個客戶$ 3,059.00除以8,等於382.38美元。

也就是,當前對“Sales”求平均值的時候,計算的粒度變了,從原來的“OrderID”,變為了“Customer Name”,

所以,抽象來說:

我們在對任何一個度量進行聚合方式計算的時候,依賴的當前維度對資料的劃分。

二、網易有數中的檢視粒度

檢視,可以簡單的理解成圖表。

在網易有數的圖表資料面板中,有兩個區域能夠決定您這張圖表的粒度。

1 是X軸和Y軸、

2 是 屬性面板

1、是X軸和Y軸。

比如,我在Y軸放入“地區”,X軸放入“銷售額”欄位,並且“銷售額”的聚合方式選擇“平均值”


                                                X軸Y軸

然後就會得到下面這張圖,這種圖相當於是在“地區”的粒度上,對“銷售額”取了平均值,

也就是對每個地區下的每一條記錄先求和,然後除以該地區下的記錄行數。


                                                             圖表

2、屬性面板

屬性面板也可以對度量進行粒度的劃分,比如你先將“利潤”和“銷售額”分別放到了X軸和Y軸上,得到下圖,因為還沒有任何維度對兩個指標做切分,代表的是所有行記錄銷售額和利潤的總和,,所以會聚合成了一個點。


                                                  利潤銷售額關係1

當你將“訂單ID”放置到屬性面板的【細分】欄上後,相當於對圖表增加了粒度,此時圖表就會進行了細分,展現出每個“訂單”的銷售額和利潤。


不論是X軸,Y軸,還是屬性面板,在這些裡面放欄位都會改變圖表的樣式。那有沒有一種方式能夠支援讓分析是自由的定義度量的計算粒度,不會受到當前圖表檢視的粒度影響?

這就是網易有數中的跨檢視粒度計算(Cross-Granularity Calculation)的功能,CGC的優點是您可以獨立於當前檢視用的維度來執行此計算。如果我將一個欄位拖到X軸,Y軸或屬性面板上,那麼整個檢視將會受到影響。CGC允許我們設定的粒度水平,而與當前檢視無關。

CGC計算表示式一共有三種,分別是:FIXED,INCLUDE,和EXCLUDE。在後續文章中,我會對這三個表示式做詳細的介紹。


網易有數:企業級大資料視覺化分析平臺,具有全面的安全保障、強大的大資料計算效能、先進的智慧分析、便捷的協作分享等特性。點選可免費試用


相關文章:
【推薦】 讓你知曉內容安全的邊界:盤點2017、2018這兩年的內容監管
【推薦】 用scrapy資料抓取實踐