標籤:

Tableau 意識 | 是什麼讓我們對tableau「失望」

之前有一篇,說過格式問題 → Tableau數據 | 數據排列方式那麼重要麼?

不是我啰嗦,而是理解真的很重要,(確實存在所謂的面向Tableau的思維模式)所以又來談基礎數據格式的問題(以後還會有的)

因為這真的是一道需要跨越的坎

今天要說的是:

為什麼我們在tableau中迷失了

什麼樣的數據是 Tall / Wide

參考blog來自:The Letdown and the Pivot

Blog作者說:

當我第一次和一個朋友談到想一起寫一本關於tableau書的時候,我們的想法是寫一些應用案例,關於表計算的高階使用案例,關於函數的,關於數據融合的。

我們想要的是幫助tableau的新用戶,學會如何創建一個簡介美觀有意義的可視化報表,幫助培養起自身挖掘新知識、理解新問題的能力,也就是幫大家學會如何在community提問和找到解決方案。

但是,慢慢的我們意識到一個核心問題,就是關於對數據的理解,以及tableau處理數據的方法。

我們發現,這些看似十分基礎的東西,反而沒有被重視,在軟體的操作中沒有明顯表現出來,而且在當前的各種學習材料中也沒有良好的覆蓋,大家在公開資料看到更多的是技巧,而不是理解

我也是這樣想的

這包括你能在中文條件下,看到的絕大多數案例&教程,都沒有跟你說這個

有道是,藥學圈的口頭禪

不談劑量說毒性都是耍流氓

那麼數據這裡是

不談數據結構的可視化都是耍流氓

第一部分 談談失望

問題先擺在這裡,先來看這個圖,Excel模擬數據

還是那個常常會遇到的問題:

在Excel中如此簡單,在tableau中簡簡單單的畫一根線,怎麼就這麼難?

你以為的tableau應該是,只要幾分鐘就可以按照你的需要完成製作

tableau是個神奇的軟體,操作過程都是如此神奇

打開軟體,連接數據,選擇幾個欄位,點擊show me

Duang,圖出來了

再做一個簡簡單單的拖拽,又出現一個圖表

將幾個圖表放在一個儀錶板中,一份報告完成!

其實,你在公開資料看到過的酷炫的案例,都是一個共同點:

都是格式規整的數據、良好的格式,具備到手即可分析的條件

比如這樣:

為什麼tableau會使有些用戶糾結

隨著工作的深入,周邊會慢慢接觸很多新的tableau用戶,相信大多是:

被神奇的demo吸引,開始使用tableau

當搞不出想要的圖形,則又被tableau打擊

為什麼會這樣?

了解後得知,很多人需要去預先去處理數據,為此而去學習基礎的計算欄位、數據融合、Raw SQL,等。

同樣的例子

理想狀態下很容易上手

但是更進一步就難了

這句不想翻譯,請看原文的槽點:

On the one hand Tableau is an incredibly easy tool to use, allowing the non-technical, non-programmers, non-analysis to explore their data and gain useful insights. Then these same people want to do something 『simple』 like a sort, and bang they hit the Table Calculation brick wall…

Give them a page of data and they all know how to draw bar charts, line charts, and scatter-plots with that data.

但是,對待一些凌亂無比的數據,就抓狂了,有時候不得不手工去操作Ctrl+C Ctrl+V,去操作格式以滿足分析條件,這個使大多數人崩潰,連累了Tableau而被吐槽

涉及到工具的使用,還有一層相關因素。假設如下的場景:

比如我是個數據分析師,研究的是公司的客服中心的數據,每天從n多的話務記錄去尋找價值信息。

我的上級,客服中心的Manger,想從數據中得到是否外呼的提醒電話,與訂單情況之間的關係。

換句話說,這位Manger有他的職責,需要負責的其他工作內容,他需要我能答覆他的需求作為他的輸入,以便Manger可以完成其他方面的工作。

對於他來說,可以理解為,他是我的下游,他只是要他的答案,並不關心我使用何種工具、何種的分析方法。最為關心的是效率,希望最快速的給出我的分析結果,不是要他轉換思維,去適應我的節奏,更沒有足夠時間讓公司的運作去適應Tableau的思維,公司運作中總是表現的緊迫。因為工作模式的轉變需要更多成本。

而此時,如果tableau不能給你迅速和持久的激情,那麼慢慢你就會對tableau失望。

第二部分 談談數據透視表,什麼是Tall和Wide

要說Tall / Wide數據,先要從如下的例子聊聊『聚合

舉例數據如下

4條記錄(4行)

4個欄位,Group、Color、Size、Value

這組數據導入tableau,變成如下:

有什麼變化?

為什麼原數據是4行

tableau呈現交叉表後只有三行了

這裡涉及到的4行變3行的問題,本質是tableau對數據實施了聚合

tableau眼中不理想的數據有哪些?

寬高不合適

數據不唯一

寬高不合適

對於一組數據,太寬的數據,其實就是說有太多的列

Excel里你會經常看到這樣的

比如年份,2011、2012,放置在不同列中,這樣的 ↓

成績科目、語文、數學、英文都是單獨列,這樣的 ↓ (之前用過這個例子)

最好,同類數據放置在同一個欄位中

數據不唯一

什麼是唯一值?

通過各個欄位的組合,可以定位唯一一條數據

比如說,南京路,就不是唯一的

需要給予限定為:上海市的南京路

也就是至少如下兩個欄位,可以準確確認位置

城市----(上海市)

路名----(南京路)

那麼,還是來看前面的4行、4列的數據,這就屬於不滿足唯一值的需求

第1、2行,數據內容完全一樣,缺少一個可以卻分二者的欄位標示

這也就是我們所說的數據層級中的顆粒度

換句話說,什麼組合欄位在數據中創建了唯一的記錄

你可能會想

1、2行的區別是:行數不同

一個是第一行,一個是第二行

Tableau處理數據的思路,更像是資料庫處理數據的思路,也就是

基本單位是數據欄位、數據條數,而不是順序

注意:

順序,不是資料庫關心的,也不是tableau關心的

所以,不考慮順序的情況下,當前數據的有效四個欄位是:

Group、Color、Size、Value

所以在Tableau眼中,不能唯一區分1、2條數據,所以就在tableau力所能及的範圍內,在它看的見的詳細級別對數據做聚合

Tableau的角色優勢是這樣的:

連接了數據可視化普通人,儘管你不懂編寫代碼

連接了資料庫普通人,儘管你不懂資料庫操

那麼針對第二條,就明確了tableau的設計,就是基於資料庫的模式

表明它對待數據的方式絕對不是Excel那樣自由,面向視覺

而是像資料庫一樣,面向存儲

Tableau如資料庫那樣處理數據,而資料庫中的默認行為是記錄順序無關緊要。資料庫抽象記錄順序的原因是獲得更高的性能。

Tableau的核心技術叫做 VizQL,介紹如下:

2003 年,Tableau 在斯坦福大學誕生,它脫胎於 VizQL?,一種徹底改變數據使用方式的技術,有了它,人們只需使用簡單的拖放功能,即可創建複雜的可視化圖表。

這項根本性的革新技術是一種獲得專利的查詢語言,它可將您的操作轉換成資料庫查詢,然後通過圖形表達響應。 隨後的突破性創新是利用 Tableau 的數據引擎,在幾秒之內即席分析數百萬行數據。 數據引擎是電腦上的高性能分析資料庫。 它具有傳統內存中解決方案的速度優勢,但是沒有數據必須裝入內存的局限性。 Tableau 的傳統是讓人人都能使用強大的工具,因此我們無需編寫任何自定義腳本,就能使用他們的數據引擎。

這裡可以談一下tableau處理數據的後台流程:

因此,當我們將此數據導入Tableau並創建視圖時,Tableau的默認行為是將數據聚合到視圖中維度的級別(即在除過濾器之外的所有shelf和mark)

注意看下圖的,1、2部分,就是代表tableau的詳細級別

說了這麼多,遇到這樣的問題該怎麼辦?

1 可以在源數據中增加數據欄位

如果你可以控制源數據,那麼許多源具有添加唯一記錄標識符的功能,其將添加必要的列,以使數據不太高,不太寬,但是正確。例如Excel有ROW()函數:

創建一個顯示每個記錄的視圖是微不足道的,我們只需要添加行ID作為一個維度:

2 可以在tableau中予以處理

<過幾天補全>

全文重點在前面的文字描述,理解面向tableau的思維方式

結論

Tableau旨在幫助我們深入挖掘數千行/數十億行數據,從而發現洞察信息,因此Tableau的默認行為是聚合數據。

我們在將Tableau納入分析系統的過程中,需要轉變為將資料庫的思維方式,這並不是簡單的,畢竟tableau的一部分目標用戶是業務人員,而非IT人員,他們並不一定熟悉SQL以及資料庫,不一定是DBA。

再來強調幾點:

1 電子表格資料庫是完全不同的結構

電子表格會為了可讀性經常性的使用格式工具,比如字體,居中,合併單元格,標題表頭等等,而這些對計算機來說是完全無意義的。

電子表格中,一個單獨的列,可以擁有很多不同數據類型,單元格也會有很多不同的含義。而在資料庫的定義中,列,有著完全剛性的規範,

2 談論到如何定義 數據是wide還是tall,坦率的說,tall數據比wide的要好。

3 使用Tableau過程中,我們不僅需要知道數據的顆粒度,即「使數據唯一性」的欄位組合,我們還需要了解視圖的顆粒度。因為,視圖的本質就是,不同維度的值的不同組合。

請記住,當我們不了解數據,不理解Tableau,不清楚如何增添欄位而實現數據層級的改變,在這個時候,即使我們是做最「簡單」數據聚合也會讓人云里霧裡,我們也只是表面的會使用工具而已。

Always trying to keep in mind the long-time Tableau users who tell me that they still 「don』t get」 calculated fields in Tableau (never mind table calcs), and the folks I』m helping out on the Tableau forums.

更新記錄:

2016-12-21 發布

Peace!


推薦閱讀:

如何學習tableau?
Tableau | Dashboard Design 1
Tableau/QlikView和水晶報表/易表是競爭對手么,為什麼?
Tableau 更新 | 未來3年的Roadmap

TAG:TABLEAU |