一維表/二維表概念
一維表
常稱為流水線表格,一般都是最基礎的表格,如某店銷售流水。一般有固定的欄名,平常輸入資料只需要一列一列的新增即可。
例如,在以下表格中有三欄欄位,且一欄中的欄位類型相同。表是“豎着長”的,再增加幾個不同的「產品名稱」和「銷售額」的資料也只會增加列數,不會增加欄數。
二維表
二維表格是一種關係型表格,通常資料區域的值需要透過列欄同時確定。
例如,在下表中「銷售額」這個唯一的指標,被放置在了很多欄中。表中的「銷售額」需要從列和欄共同定位到。表是“橫着長”的,再增加幾個不同的「產品名稱」和「銷售額」的資料會增加表的欄數。
一維表和二維表的差別
一維表的欄位名(欄名),與其欄位中的資料類型是完全匹配的。更細緻規範一些,可以看到「銷售額」的資料,放置在該欄位下,而不會再出現在其他不同的欄中。在二維表中,最主要的是,無法說明表中的值是什麼,是銷售額,數量,到底還是利潤。如果不額外在表外新增說明的話,就無法知曉這到底是什麼。這樣的表作為資料源,其實還是可以被接受的,然而依據二維表展示的表格內容,繼續展開,希望把「銷售數量」的資訊也加進來的話,表格會如下圖所示,很自然的會在右側新增對應的銷售資料。
如果增加更多資訊,比如門店,利潤,利潤率,折扣等資訊的話,我們要怎麼來操作呢?在實際案例中,使用該表增加資料會使資料的欄位欄越來越多,而且不方便做分析。
如何試用一維表和二維表
對資料的分組匯總和做圖表,顯然一維表更合適,由於欄位名與其資料類型或值是一一匹配的,所有只要找到對應的欄位,就能找到我們想要的資料,而這個需求在二維表中顯然是無法實現的。
一維表是資料自然生成的樣子,也就是說,如果按照資料自然產生的話,就應該遵循一維表的格式來記錄。
二維表不適合直接拿來做分析,一般是資料分類匯總後的呈現,更適合用在報表裏最終的展示。
一維表和二維表的相互轉化
一維表轉換到二維表的程式,其實就是我們理解的資料透視,或者更多的可以理解為對資料分類聚合,解讀和理解的程式。在 Excel 中可以用資料透視表實現,在 FineBI 中使用「列轉欄」功能一鍵實現。
詳情請參見:列轉欄
二維表轉換到一維表的程式,就是逆透視。在EXCEL中很難直接實現,一般都需要安裝使用PQ插件,那麼在 FineBI 可以使用「欄轉列」功能。
詳情請參見:欄轉列(逆透視)
列欄轉換程式中的常見問題
Q:一張明細表中只“列轉欄”其中一部分欄位,轉後為什麼有很多空格不是一張標準二維表?
A:對於剩下的沒有被轉化的欄位,如果每一列的值都不一樣,那麼轉換之後沒法聚合成一條,此時被轉換後的數值就會分散,如下圖所示:
Q:怎麼理解“列轉欄(一維表轉二維表)”中的“轉換列欄位”為什麼用的是欄名?
A:FineBI中的列轉欄功能,需要選擇「轉換列欄位」和「新欄的值」欄位。將被選擇的欄位(欄位對應的是欄名)下對應的每列的值,轉換成新的欄位(減少列新增欄),相同的值變為同一欄。
Q:如果不做列欄轉換直接用二維表的形式做圖表會怎麼樣呢?
A:FineBI中做圖表都是需要按照將「維度」和「指標」欄位拖入到相應的橫縱軸進行展示,比如下面按照時間維度看銷售額指標的變化趨勢,那麼橫軸代表的時間維度,縱軸代表的銷售額,一個時間對應着一個銷售額的值。
那如果是二維表的形式,每個日期的值就會作為欄位名。做圖表時無法展示不同時間對應的銷售額。