一天入門Tableau--你也可以
原諒我標題黨了,今天利用難得的周末,我利用Tableau做了一個簡單的入門。
既然是入門肯定會有很多深入的知識我不是很懂,不過沒關係,以後如果有機會接觸的話,在慢慢在工作中學唄。
不過可能會有朋友會說,你不是可以敲代碼得到相應的可視化圖形的嗎?為什麼還要用Tableau這種專業的數據分析軟件呢?
那麼我覺得得先認識一下什麼是Tableau?
為什麼是Tableau?
首先來介紹一下Tableau是什麼?
有人可能會說我用excel做的數據透視表也做得很好啊,為什麼要用Tableau這種死貴死貴(好像也沒有特別貴)的軟件呢?話說在國內有什麼軟件沒有破解版呢?
因為我不是老闆,所以就不從成本這個角度去談,我是一個數據分析愛好者,而且也是一個圖形愛好者,特別喜歡看到那些很炫酷的圖形,有可能這些圖形都沒什麼用,但是酷就行了,哈哈哈。確實Tableau能夠繪製出很多炫酷的圖形,比如
哇偶還是一個動圖,是不是很炫酷。
ps:(上面的圖形都是來源於網絡,如果侵權立馬刪除)
在開始學習之前,我想先做一個思維導圖來說明學習Tableau的順序,以及想通過這篇文做到什麼。得到什麼。
一、簡單的認識Tableau
我覺得學習任何一個軟件?可以稱Tableau為軟件對吧,都會先對界面有一個基本的認識。
我使用的10.5版的Tableau,我不知道最新版本有沒有什麼特別好用的功能的增加
我也不免俗,先介紹一下主界面
可以看到開始界麵包含3個部分:連接,打開,探索。
首先介紹連接:連接可以直接連接文件:圖中也有很多的可以連接的文件類型,這就是Tableau好用的地方,可以直接連接Excel,文本,JSON,Access數據庫,PDF,空間文件
緊接著還可以連接到服務器,這個就更強大了,基本可以和目前市面上流行的服務器都能連接起來
現在主流的數據庫MySQL,Oracle,Hadoop,MongoDB等都可以連接。
認識了連接以後,再來看一下打開,打開點擊以後
可以看到打開工作簿直接轉到了可以使用的工作簿,也就是之前保存的Tableau文件。
而最後一個探索,則是這個軟件的良心的地方,有很最基礎的入門視頻,手把手教你入門。
當然少不了軟件的更新,以及一些廣告。
下面我們看一下下一個界面,數據源界面
這裡我們連接一個數據(超市數據集),來更好地說明。可以看到上面通常分為3個主要區域,左側窗格,畫布和網格。
左側窗格:顯示連接的數據庫,服務器,和數據庫中的表
畫布:這裡可以連接一個或者多個數據集
網格:可以查看數據源中的字段,和前1000行的數據。還可以對數據源做一般的修改,如排序,隱藏字段,創建字段,以及設置別名等。
工作簿界面:
我們來看一下這個界面都有些什麼呢?
首先可以看到左側有一個維度和度量區域。
那麼維度和度量分別代表什麼意思呢?
維度:在初次連接數據源的時候Tableau自動將包含離散分類訊息的訊息字段分配給維度,比如字符串和日期,當然維度也是可以轉換為度量的
度量:Tableau會把包含定量數值的訊息的字段分配給度量。
由於這個界面是以後經常用的界面,所以一些後續的一些介紹,我會在最後一步實際操作中予以介紹。
好的,到這裡就把Tableau的基本界面介紹完了,下面進行第二步
二、 Tableau支持的數據類型
Tableau支持字符串,日期/日期時間,數字和布爾數據類型。
這裡就以剛剛的數據集為例,這裡標中的Abc代表的是文本值。
上圖中標記的類似於日曆的圖標就是日期,
而這個圖形中的類似於#代表的是數字值。
還有一種這個圖裡沒有T|F這個就是常用的布爾值(僅限於關係數據源)
而上面的這個地球圖表代表的是地理值(用於地圖)
而如果要更改數據類型就是上面的幾個操作,把數據類型改一下就好。
三、運算符及優先級
Tableau支持的運算符有,算術運算符,邏輯運算符,比較運算符
1算術運算符
+(加法):用於數字表示數字相加,用於字符串表示串聯,用於日期,可以將天數和日期相加。比如:'abc'+'def'='abcdef',#April 15,2004#+15=#April 30,2004#
- (減法):同樣的,用於數字表示相減,用於表達式時表示求反,用於日期,可以用於從日期中減去天數
*(乘法):用於數字表示乘法,例如,5*4=20
/(除法): 用於數字表示除法,例如20/4=5
%(取餘):此運算符算數字餘數,5%4=1
^(乘方):此符號等同於POWER函數,用於計算數字的指定次冪,比如6^3=216
2邏輯運算符
- AND邏輯運算且,兩側必須使用表達式或布爾值
- OR 邏輯運算或,兩側必須使用表達式或布爾值
- NOT 邏輯運算否,此運算符可用於對另一個布爾值或表達式取反
3比較運算符
Tableau有很豐富的比較運算符,有==或=,>,<,>=,<=,!=等用來比較兩個數字、日期、或者字符串。 (ps:這個難道不是每一個編程語言裡面都有的)
優先級問題:
四、Tableau的基礎函數
就像Excel一樣,Tableau也支持函數,而且這些函數和Excel的函數有都很像。
常見的函數
- 數字函數
ABS(number):絕對值函數,如:ABS(-7)=7
CEILING(number):向上取整函數,如:CEILING(3.1415)=4
FLOOR(number):向下取整函數,如:FLOOR(3.1415)=3
MIN(number,number)/MAX(number,number)這個就不用說了吧
POWER(number,number)在剛剛介紹^的時候也說過,這是一個乘方函數
SIGN(number);這個要注意以下,這個的名字是符號函數,也就是說當數字為負時返回-1,數字為零時返回為0,數字為正時返回為1
ZN(expression):如果表達式不為NULL,就返回表達式,如果是NULL,就返回零
2.字符串函數
學過編程語言的應該都知道,常見的字符串函數應該包含,查找,轉換大小,替換,以及判斷某個元素是否在字符串中。
那麼我們就來看幾個常用的字符串
Contains(string,substring):如果給定字符串包含指定字符串就返回True
FIND(string,substring,[start]):返回字符在string的索引的位置,如果沒有就返回0,如果設置了起始位置,就會跳過start位置前面的字符;
例如FIND("Calculation","alcu")=2、
FINDTH(string,substring,occurance):返回指定第n個字符串的位置,其中n由occurance來定,如:FINDTH("Calculation","a",2)=7
LEFT(string,number):返回最左側一定數量的字符
LEN(string):求字符串的長度
REPLACE(string,substring,replacement):在string中搜索substring,然後把substring替換為repalcement,如果沒找到就保持不變
SPLIT(string,delimiter,tokennumber):這個有點類似於excel中的分列,以及python讀取文件時用到的參數splt
3.日期函數
Tableau也同樣提供了很多的日期函數,許多日期函數使用date_part這是一個常量字符串函數。
日期的函數,特別多,包含日期的加、減、轉換等
DATEADD(date part,increment,date):返回increment和date按照date _part格式相加的值
DATEDIFF(date part,date1,date2):返回date1和date2按照date_part的差值
DATEPARSE(format,string):看了我之前寫過的文章的朋友應該看到format和parse都很熟悉了吧,這個就是格式的轉換,比如:DATEPARSE("dd.MMMM.yyyy","15. April.2004")=#April15,2004#
NOW(),TODAY(),YEAR(date)這個就不用說了吧。
4.類型轉換函數
在學習函數的這一章的時候,我有一個想法,就是從這一點來說每個編程語言,以及這種應用軟件都是萬物本根,就是無論什麼語言,都會有這些基本的操作,而且這些基本的操作都是大同小異的,數據類型,基本函數,等也是如此
類型轉換就是通過特定的函數把某個數據轉換為特定的數據類型;
有哪些數據類型,就應該有幾個類型轉換函數
STR(),DATE(),DATETIME(),INT(),FLOAT()
5.邏輯函數
主要有
CASE WHEN 語句
CASE expression WHEN value1 THEN return1 WHEN value2 THEN return2……ELSE default return END
IIF語句
IIF(test,then,else,[unknown])
IIF語句和excel常用的if語句很相似
IF test THEN value END /IF test THEN value ELSE else END
這個語句就是和我們常見的編程語言裡面裡用到的語句很相似了,這個就是IF/ELSE 語句,當然還有多重的if嵌套
6.聚合函數
就是一些常用的聚合函數,比如AVG,COUNT,MAX,MEDIAN,MIN,PERCENTILE等
其實Tableau還有很多其他的函數,比如表計算函數,以及特殊的數據庫函數,但是既然是入門就沒必要那麼深究,而且深究下去可能這一篇文要寫好幾萬字了。
下面我們開始實操
五、Tableau的基本操作
5.1 創建工作表
有三種方法:1點擊左上角的工作表,然後點擊新建工作表
5.2點擊左下角的圖中的小圖表,可以直接新建
5.3 點擊左上角的圖表下面圖形中紅色方框標出來的地方
5.4 快捷鍵ctrl + m
導出工作表
如需導出工作表,直接點擊需要導出的表,然後選擇導出
用Tableau創建各種圖形
雖然有各種圖形,但是最基礎的也就那些,對於Tableau這種專門的可視化軟件來說,繪製圖形是非常方便的
就像excel中會有很多推薦的圖表,Tableau中有一個智能顯示,如上圖所示,這裡會智能推薦你一些可以使用的圖表,只需要點擊智能顯示就能選擇當前加入的數據維度和度量可以使用的圖形。由於這裡非常的方便,我就不再贅述了
六、Tableau的一些高級操作
高級的操作:比如表計算,創建字段,創建函數,聚合計算,缺失值處理。
我們來看一下各自的操作
6.1 表計算
這裡使用的數據是Tableau自帶的超市數據集
點擊視圖中的數量這一度量,添加表計算
在計算類型這裡選擇總額百分比
在計算類型中主要有8種
- 差異:顯示絕對變化
- 百分比差異:顯示變化率
- 百分比:顯示為其他指定值的百分比
- 總額百分比:以總額百分比的形式顯示值
- 排序:以數字形式對值進行排名
- 百分位:計算百分位數
- 匯總:顯示累積總額
- 移動計算:消除短期波動以確定長期趨勢
6.2 創建字段
顧名思義就是用一定的計算來獲得新的度量。
如下
這裡我使用了銷售總額/銷售總數量,也就是平均單價
6.3 創建參數
在分析過程種,往往需要從”計算字段“中創建新參數。
創建成功以後會顯示在參數下拉表中。
6.4 聚合計算
使用聚合函數對數據進行各種聚合操作。
這裡我首先創造一個利潤率的計算字段
然後添加度量名稱,利潤率到列中,製造商到行中
以訂單日期月來做篩選
6.4 缺失值處理
對於缺失值,Tableau會在視圖中顯示。有一個隱藏顯示器,可以選擇保留特殊值指示器。
七、一個實際操作
這裡我使用Tableau自帶的數據集--超市。
我將使用這個數據集完成網上超市運營分析,我將從客戶,配送,銷售,利潤,退貨等五個維度,以及預測分析,所有的現有數據都是為了更好地預測未來。
客戶分析將圍繞各省市的交易次數,各省市利潤額,客戶散點圖,客戶交易量排名4個方面進行
7.1 各省市的交易次數
操作步驟
- 把維度(生成)拖到行功能區,經度(生成)放到列功能區,
- 把類別放到標記卡的顏色中
- 把記錄數放到標記卡的大小中
- 把省/自治區放到標記卡的詳細訊息中
- 把訂單日期放到篩選器上,並選擇顯示篩選器
- 把類別放到篩選器上,並選擇顯示篩選器
- 把標記卡中選擇為餅圖
7.2 各省市的利潤
操作步驟如下
- 把類別放在列功能區,省/自治區放在行功能區
- 把利潤放在標價卡的顏色中
- 把利潤放在標記卡的文本中
- 把訂單日期放到篩選器中,並選擇顯示篩選器
7.3 客戶散點圖
由於時間原因我就不把具體的操作步驟寫出來了。因為現在已經是深夜了。 。 。
在這裡要說一聲抱歉了
7.4 客戶交易量排名
以上就是客戶分析的部分
由於寫到這裡已經是12點鐘了,明天還要上班,就先到此為止了。
明天我會把後邊的部分補上,而且會用自己的數據集在做一個訓練!
如果你覺得這篇文章還不錯,期待能為我點個贊!