交叉表 列字段排序_Tableau学习系列(8):表计算
Tableau表計算,是針對多行數據進行計算的方式,創建表計算后,在"標卡/行/列”功能區的該計算字段,其右側會出現正三角形符號。表計算能較好解決日常分析中的許多計算問題。
對同一字段下數據進行數據間運算,例如銷售額年度同比變化值、同比增長率、部分占比
- 內容:
- 1 表計算創建
- 1.1創建表計算
- 1.2 快速表計算
- 2 表計算依據2.1 基于“表”計算
- 2.1 基于“區”計算
- 2.3基于“單元格”計算
- 3 特定維度表計算
- 3.1單維度應用
- 3.1雙維度應用
1、表計算創建
創建視圖。創建一個以“銷售額”為度量值,以“地區”和“訂單日期”為維度字段的交叉表。
1.1 創建表計算
在標記卡中需要計算“字段”右鍵選擇“添加表計算”
在表計算框中根據需要選擇計算類型、計算依據等。默認計算類型:差異;計算依據:表(橫穿),如下圖,計算同地區銷售額年增長率。
1.2 快速表計算
tableau將常用的表計算類型封裝成了“快速表計算”,包括以下11個,可實現對表中一組數據的快速計算總計、差異、移動平均等。
- 匯總
- 差異
- 百分比差異
- 總額百分比
- 排序
- 百分位
- 移動平均
- YTD總計(本年迄今總計)
- 復合增長率、年同比增長
- YTD增長(本年迄今增長)
2、表計算依據
表依據計算可以分為三類:
- 基于“表”的計算
- 基于“區”的計算
- 基于“單元格”的計算
理解“計算依據”中的各種計算方式前,需要掌握尋址和分區兩個重要概念:
- 分區字段:“分區字段”就是確定計算時的分組方式的維度。系統在每個分區內單獨執行表計算。
- 尋址字段:執行表計算所針對的其余維度稱為“尋址字段”,可確定計算方向。
把維度“地區”、“類別”拖放到行功能區,訂單日期拖放到列功能區,銷售額拖放到標記卡“文本”中。
2.1 基于“表計算”
基于“表”計算是指,對視圖中整個表進行操作。分四種情況:
- 表(橫穿):沿著水平方向進行計算,即每一行數據都是從左到右進行計算
- 表(向下):沿著豎直方向進行計算,即每一列數據都是從上到下進行計算。
- 表(橫穿,然后向下):走Z字形,先按橫向從左往右走,走到盡頭跳轉到下一行第一個位置,又開始從左往右走,直到走完最后一個數據。
- 表(向下,然后橫穿):先按縱向從上往下走,走到底跳轉到下一列第一個位置,又開始從上往下走,直到走完最后一個數據。
2.1.1表(橫穿)
2.1.2表(向下)
2.1.3表(橫穿,然后向下)
2.1.4表(向下,然后橫穿)
2.2基于“區”的計算
基于“區”計算是指,指視圖中的子視圖或子數據表,在計算時,“區”不像“表”那樣貫穿到邊(底),而是根據分組,在分組中進行獨立計算。分三種情況:
- 區(向下):在每個區中進行
- 區(橫穿然后向下):在每個區中進行
- 區(向下然后橫穿):在每個區中進行
2.2.1區(向下)
2.2.2區(橫穿然后向下)
2.2.3區(向下然后橫穿)
2.3基于單元格計算
每個單元格只與自己進行計算,與其它單元格均無聯系
3 特定維度表計算
Tableau的表計算封裝的表、區多種計算公式,方便日常操作。但是也有不足之處,就是把視圖中的“行/列”功能區的字段進行交換,計算路徑還是沒有改變,使得計算值發生率變化。
要讓tableau在行列交換同時,尋址字段和尋址順序同步調整,并使最終計算結果保持不變,則需要使用計算依據真中的另一種方式——特定維度。
舉例,地區、類別和訂單日期的交叉表,計算依據選擇了區(橫穿,然后向下),如下圖所示:
- ① 列功能區為訂單日期字段;行功能區為地區和類別字段。
- ② 計算依據為區(橫穿,然后向下)。
- ③ 箭頭方向為先按訂單日期橫穿,再按類別向下
交換行和列后,即原來的地區字段交換到“列”功能區、訂單日期字段交換到“行”功能區,計算依據此時仍然是表(橫穿,然后向下),即箭頭方向沒有改變,但計算結果卻發生了改變。從視圖可以看到,箭頭方向變為了按類別橫穿,按訂單日期向下,與行列字段交換前正好相反。
特定維度就是讀取數據的路徑和順序,tableau會根據選擇的特定維度,將這些維度的分類數據全部讀取,這樣就表示完成了一個分區,然后再進行下一個分區的讀取。
3.1單維度應用
有三個維度,分別是訂單日期、地區、類別,這里依次選擇單個維度來觀察tableau讀取數據的路徑和順序的變化。
3.1.1單一維度——訂單日期
tableau會按照訂單日期字段中的2015、2016、2017、2018,依次讀取,從2015開始,到2018結束,這就完成了一個完整的讀取周期,然后又接著下一行重新讀取。
3.1.2單一維度——地區
tableau會按照地區字段中的東北、華北、華東、西北、西南、中南,依次讀取,從東北開始,到中南結束,這就完成了一個完整的讀取周期,對該視圖而言,也就完成了整個視圖數據的讀取。
3.1.2單一維度——類別
tableau會按照類別字段中的辦公用品、技術、家具,依次讀取,從辦公用品開始,到家具結束,這就完成了一個完整的讀取周期,然后又接著下一行重新開始讀取。
3.2雙維度應用
視圖中,分別從訂單日期、地區、類別三個維度中,任意選擇兩個維度,通過維度的不同組合及不同順序,觀察tableau讀取數據的路徑和順序的變化。
所在級別
當選擇了兩個維度的時候,計算依據窗口下方的“所在級別”選項卡變為了可選擇狀態,里面有一個選項叫“最深”,該選項的運行邏輯是:勾選的維度自下而上讀取,簡單的說就是,下面的先讀取,上面的后讀取。
3.2.1雙維度應用——訂單日期維度和地區維度
按照讀取順序,分為訂單日期+地區以及地區+訂單日期。
3.2.1.1訂單日期+地區
- 按照“最深”原則,先讀取訂單日期,再讀取地區。
- 訂單日期有四個,2015開始,2018結束
- 地區有六個,東北開始,中南結束
- 讀取時,先在東北對應的訂單日期從左往右讀取,即2015開始到2018結束,然后接著從華北對應的訂單日期從左往右讀取,2015開始到2018結束,一直讀到中南結束,至此完成一個完整的讀取周期。
3.2.1.2地區+訂單日期
- 按照“最深”原則,先讀取地區,再讀取訂單日期。
- 地區有六個,東北開始,中南結束
- 訂單日期有四個,2015開始,2018結束
- 讀取時,先在2015對應的地區從上往下讀取,即東北開始到中南結束,然后接著從2016對應的地區從上往下讀取,東北開始到中南結束,一直讀到2018結束,至此完成一個完整的讀取周期。
3.2.2雙維度應用——訂單日期維度和類別維度
按照讀取順序,分為訂單日期+類別以及類別+訂單日期
3.2.2.1訂單日期+類別
- 按照“最深”原則,先讀取訂單日期,再讀取類別。
- 訂單日期有四個,2015開始,2018結束
- 類別有三個,辦公用品開始,家居結束
- 讀取時,先在辦公用品對應的訂單日期從左往右讀取,即2015開始到2018結束,然后接著從技術對應的訂單日期從左往右讀取,2015開始到2018結束,一直讀到家具結束,至此完成一個完整的讀取周期。然后又接著下一行重新開始。此時的地區為分區字段。
3.2.2.1類別+訂單日期
- 按照“最深”原則,先讀取類別,再讀取訂單日期。
- 類別有三個,辦公用品開始,家具結束
- 訂單日期有四個,2015開始,2018結束
- 讀取時,先在2015對應的類別從上往下讀取,即辦公用品開始到家具結束,然后接著從2016對應的類別從上往下讀取,辦公用品開始到家具結束,一直讀到2018結束,至此完成一個完整的讀取周期。然后接著往下一行重新開始。地區在這里是分區字段。
3.2.3雙維度應用——地區維度和類別維度
按照讀取順序,分為地區+類別以及類別+地區。
3.2.3.1地區+類別
- 按照“最深”原則,先讀取地區,再讀取類別。
- 地區有六個,東北開始,中南結束
- 類別有三個,辦公用品開始,家具結束
- 讀取時,先在辦公用品對應的地區從上往下讀取,即東北開始到中南結束,然后接著從技術對應的地區從上往下讀取,東北開始到中南結束,至此完成一個完整的讀取周期。然后接著往下一列重新開始。訂單日期在這里是分區字段。
3.2.3.2類別+地區
-------------------------------------結束----------------------------------------------
總結
以上是生活随笔為你收集整理的交叉表 列字段排序_Tableau学习系列(8):表计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 关闭窗口事件_python
- 下一篇: 抽象工厂模式_抽象工厂模式