標籤:

Tableau數據 | 數據排列方式那麼重要麼?

故事起源

一個小夥伴要製作「堆積圖」,抓破頭皮也沒做出來

這個問題呢,說簡單也簡單,說複雜也複雜,按照如下思路來聊清楚這個問題:

  1. 介紹圖表--圖表分類

  2. excel軟體中的實現過程

  3. tableau的製作圖表的基本原理

  4. 數據分層結構

  5. tableau軟體中的實現原理

  6. 栗子

  7. 兩種結構有什麼區別
  8. 解決數據問題的方法

好了,開始

介紹圖表--圖表分類

在說「堆積圖」之前,需要先知道「柱形圖」。

百科:

柱形圖 :英文,histogram,column diagram 或者 column chart

另外,還有一種常見的圖是「條形圖」,「條形圖」英文是 bar chart(貌似只有Office的軟體是這麼分類)

但「柱形圖」與「條形圖」二者實際都統稱為bar chart,只不過一個是vertical,一個是horizontal。在Office軟體中為了幫助區分而命名的(tableau中不做此區分)

有沒有頭暈?

柱形圖還可以再細分子類:(等改天有空再貼出示例圖)

簇狀柱形圖

堆積柱形圖

圓柱圖、圓錐圖和稜錐圖

繞了一大圈,終於到今天的主題了,兩句結論:

堆積圖是柱形圖的一種

柱形圖和條形圖,都是bar chart

栗子來了:

如下是有記錄的,最早的Bar chart ↓ (貌似要開始講歷史了啊)

該圖出現在「The Latitude of Forms」一文中,用來描述一不斷加速的物體隨時間推移的速度變化情況。這是現存資料中能夠找到的最早的關於bar chart的記錄,是否最早不得而知。

圖中橫軸代表時間,縱軸代表速度。圖中沒有任何刻度表示,也沒有給出各速度的具體數值。儘管如此,各個bar使用同一寬度這一點一直沿用至今。

如下是,最常見的基本柱形圖 ↓

這個也很常見,同比、環比的圖表 ↓

如下是常見的堆積圖

也有這種變化的堆積圖,只不過是曲線圖而已

再來些好看的,這些設計感十足的信息圖也是衍生的Bar chart:

圖形的概念介紹完了,先看看傳統的方法(Excel)如何實現

Excel軟體中的實現過程

假設數據如下

注意,數據是我隨便編的,如有雷同純屬巧合

這個數據,就是一個學校小朋友們的考試成績統計表格而已,基本欄位有:

班級

學號(ID)

名字

語文、數學、英語

如果需要查看以每個學生為單位的總成績堆積圖,操作很簡單:

  1. 首先,選中數據

  2. 點擊INSERT菜單中的插入圖表

  3. 找到Stacked Column。完成!

可以看到,每格學生對應的是一個三種顏色填充的柱子。

tableau的製作圖表的基本原理

說原理之前,要說說數據分層結構

我們來創造一個特別簡單的數據吧,比上邊考試成績的數據還要簡單:

夠簡單吧

1班有4個小朋友

ID就是學號,從S001S004

三個男孩,一個女孩

我們所說數據層次你可以這麼理解,來,嘗試把表格橫置試試看

你把從上到下(或者從下到上)理解成層次關係:

在變換一下,是不是類似金字塔結構了,它的特色是:

越往上,越概括----細節很少

越往下,越詳細----詳細到具體的每一條數據記錄

這就是,詳細級別(LOD=level of detail)

所以在tableau中,如下圖的mark標記框,就是軟體識別詳細級別的位置(在全部視圖範圍內識別詳細級別)

如果開啟了數據自動聚合,軟體總是按照當前的最詳細的級別去呈現數據

上邊的話有點繞,說人話就是:

視圖中,你需要聚焦到哪個層次,就需要把哪個層次的數據拖入到mark或視圖中

所以,我們來繼續看男孩女孩這個數據,如果我要看全班的,那就:

拖入班級的級別到mark欄

因為沒有拖入性別的欄位,所以只能看到「金字塔」的最頂層,只看到4(班級總人數)

如果要看到性別的,就拖入「金字塔」性別那個層的欄位,放到mark欄:

拖入性別到mark中

可以看到男女分開了

但是顏色還是統一的,那是因為

用來區分性別的欄位,並沒有告訴tableau如何區分

默認只是從邏輯上區分,視覺上需要再操作:

將「性別」欄位拖入到顏色框中

這樣就通知了tableau,讓它使用顏色作為區分:

所以,這就是tableau軟體中的實現原理

詳細級別

栗子

回到考試成績的數據

如果按照分層的概念去理解這組數據:

按照我們之前的理解,每個層次是一個特別的屬性,就比如,我們每個人的屬性可以有:

姓名

年齡

身高

體重

......

我們注意觀察三個學科,你發現語文數學英語分別為三層、其實是不合理的

換句話說

同類的數據應該歸為一個層次、一個屬性

語文、數學、英語邏輯上同屬於一個類別----學科

而它攜帶的value值,也就成績,屬於另一類----成績

根據這個指示,如果是如下這樣的分層,就合適了:

上下的層次不是固定不變的,也可以這樣理解邏輯層次:

將學科類別提升

所以,針對原始數據做過修改後應該是:

兩種結構有什麼區別

我們從兩個角度來觀察

  1. tableau詳細級別的原理

  2. 選中相關欄位後,「智能顯示」可用圖表的區別

先來看看欄位的區別

將「語文」、「數學」、「英語」欄位合併為「學科」

添加「成績」欄位

二者在作圖上有什麼區別?先從第一條,tableau詳細級別的原理說起。

先說新數據,從金字塔頂端說起,也就是聚合、概括的這一層次。

現在我的需求是----了解總成績

需要欄位

成績

成績欄位拖入列,新數據Viz的構成,如下:

這時候注意右側的智能顯示,是這樣的

灰色表示當前激活的欄位不能構成此圖

亮色表示當前激活欄位可以構成此圖

那麼,我來告訴你這個智能顯示怎麼玩:

還是同樣的欄位----「總計(成績)」

將滑鼠懸停在對應的圖表上底部的文字就會自動更新

從左到右依次是:水平條、直方圖視圖、餅圖、散點圖

紅色方框標記對應圖表的位置,可以看到

水平條、直方圖,是亮色----可以構成

餅圖、散點圖是灰色----不可以構成

老數據的Viz構成

新數據的智能顯示(show me)

老數據的只能顯示

解決數據問題的方法

方法有2:

  1. 藉助插件修改原始數據格式

  2. 使用tableau自帶的Data Interpreter (Tableau基礎 | 如何應對Excel的格式,這裡提到過)

先介紹,藉助插件修改原始數據格式

Tableau在早起版本的時候,官方開發了一個宏插件安裝在excel中,即可快速轉換數據格式,還是蠻好用的,點擊這裡進入原網址。

點擊右側的zip文件,下載安裝包

解壓後,執行安裝文件:

注意,安裝完畢有個提示:

提醒你的是:

進入Excel程序,打開插件管理窗口

勾選「Tableau 7」的插件欄

此時,即可看到tableau的宏插件:

使用Excel打開之前的數據,將游標定位在:

需要轉換格式的數據(非表頭)的第一行、第一列

此處需要轉換的是「語文」、「數學」、「英語」三列,數據為第二行開始的分數

選中後,點擊執行Reshape data:

默認就好,點擊OK:

轉換結果,會創建一個新的sheet

該新sheet內,新建的列會默認名字顯示

你可以重命名:

至此,數據處理完畢。

另外一種是,使用Data Interpreter,還是這個數據,直接拖入tableau

下邊看到「語文」、「數學」、「英語」幾列

按住Ctrl選中三列,右鍵,數據透視表:

執行完畢後,會生成兩個新的欄位,默認名字是:

右鍵可以重新命名:

修改完的結果如下:

也可以在主界面的維度/度量窗格內重新命名:

最終數據是這樣的:

按照如下欄位設置,即可做出堆積圖了:

更新記錄:

2016-12-7 發布

2016-12-8 增加兩種數據結構對比 / 修改錯別字 / 解決方法詳細介紹 / 貼出圖表示例圖

<未完待續>

Peace!


推薦閱讀:

Tableau 地圖 | 多顏色序列地圖

TAG:TABLEAU |