POINT問答 | 日期 Dates

日期有哪些用處?

1 統計同比、環比

2 非常規顆粒度的統計,比如雙周、百天

3 切換需要的時間顆粒度

4 非標準日期時間格式的讀取

日期很重要,玩法很多,有的時候也很糾結,什麼情況下需要日期欄位?

1 Line chart

2 Area graph

3 一切表計算,比如 YoY YTD

本文思路源自interworks的系列blog(傳輸門,點擊查看)但又不僅限於該篇,會加入自己的一些思路與想法(畢竟國外和國內的使用環境完全不同),以及原文沒涉及到的內容。

1

快速介紹

包含日期欄位的數據,為什麼導入到Tableau能被自動識別?來做個測試。使用Windows的記事本編輯如下,注意,使用Tab分隔。

這7個欄位對應7種情況,分別是:

在記事本中全選,複製,打開Tableau,選擇數據,粘貼。

注意,如果複製不成功,是沒有數據這一菜單的,如下

執行粘貼後,經過短暫計算,就已經可以看到這幾個欄位了,其中:

  • 時間1、時間2、時間3自動識別日期格式
  • 時間4識別為日期和時間格式
  • 其餘的僅僅識別為Abc,即字元串

看如下的圖表就可以看出區別:

在視圖中是這樣的:

初步可以得出結論,想要tableau兼容日期欄位的格式:

  • 要使用標準時間分割格式
  • 不能使用中文

Tableau對ISO標準的時間會給予識別,函數從時間說起(點擊查看)這篇里介紹過標準格式。另外,符合國際標準是一定要填補完全的。

如下,如果使用斜杠分割,但是數據並沒有補充完全,僅有年和月,同樣是不能被tableau識別的。

只有完整的日期1識別成功

2

日期欄位分類

在上一節中看到了,被tableau識別的格式有兩種

1 日期和時間 (2017/2/14 19:08:00)

2 日期 (2017/2/14)

簡單說,顆粒度具體到小時、分鐘、秒的數據,才算是時間(Time)

所以,二者,不能混合使用。但是,二者可以互相轉換。

  • 日期是僅含有年、月、日
  • 日期和時間,是含有年、月、日、小時、分鐘、秒
  • 不存在單獨的時間欄位

3

日期分層結構

日期類欄位左鍵拖拽視圖中,默認為年。

如果通過右鍵拖拽是會彈出窗口進行選擇的,如圖

通過點擊左側加號可以下鑽到更低詳細級別。當然了,請注意,連續和非連續的結果不一樣的。

先來看非連續的藍色,離散欄位。

點開後,更詳細級別的欄位會變為第二個欄位,出現在右側

再點開,會以此類推

直到最低層

也可以將中間不需要的層級移除

或者通過右鍵去切換某個層級到特定的層級

切換為周數的結果如下

下面來看看綠色連續欄位的區別:

首先,欄位為綠色

同樣點擊左側加號後,連續欄位變化有兩個

1 顆粒度變細

2 並沒有增加一個欄位,而是原本的年欄位,變為季度

繼續展開,繼續詳細層級變深

4

日期函數

處於行上的欄位,我們雙擊進去看一下

發現會展開對應的表達式,可以看出,周欄位,是針對Order Date做DATEPART的轉換所得

年欄位,同樣是

可見,欄位的底層都是函數組成的計算欄位。

在講表計算的時候就聊過,表計算的底層實現都是依託於表計算函數。

同樣,日期的很多操作,底層也是依託日期類函數,比如剛剛涉及到的DATEPART()

看看日期相關函數有哪些:

還有在類型轉換組中的幾個與時間有關的函數:

函數大致分類如下,不用記住,大概了解即可,當你在工作中常用後,自然會記住

  • 日期信息讀取:Now(),Today()
  • 日期間計算:Datediff(),Max().Dateadd()
  • 日期處理:Dateparse(),
  • 日期類型轉換: Makedate(),Maketime()
  • 日期截取:Datetrunc(),Datepart(),Day,Year()

Peace!

更多內容請關注POINT .小數點的微信公眾號:POINT 小數點數據

推薦閱讀:

民航飛機為什麼不給乘客配備降落傘?
呵呵,原來暴走漫畫不僅會自刪,還會刪別人的
做品牌自己掙錢不算什麼,能讓1000名山區綉娘都掙錢才牛逼!
雅虎2
為什麼說「每個CEO都要有一顆自媒體的心」?

TAG:數據分析 | 互聯網 | 職業發展 |