教程:tableau表計算練習


練習表計算

參考@禹楊的文章https://zhuanlan.zhihu.com/p/66306823

備注:

 

下面開始練習。

附加:我自己寫的理解表計算的文章https://www.cnblogs.com/chentianwei/p/12580275.html

 

自參考日期開始的百分比變化

數據來源是4支股票的收盤價的歷史數據:

  1. Company Name
  2. Date: 2007/12/31 ~2009/9/17
  3. Ticker即股票簡稱。本數據有4支股票。
  4. Adj close: 收盤價

作為一名炒股分析師,我希望分析出某個日期的收盤價相對於其他日期收盤價的比較。

即一個日期A,在圖表上顯示相對這個日期收盤價A_close,其他日期收盤價和它的比例:  ( A_close - ohter_close ) / A_close, 見結果:

 

 

分為幾個步驟:

  1. 做出正常的收盤價格圖
  2. 創建一個參數:作為參考日期。
  3. 創建計算字段:“參考日期的收盤價”。
    • 相當於在原數據表格上添加一列字段,即這列只有2個值,參考日期的收盤價和null值。方式是使用窗口函數window_max。
  4. 創建計算字段:“Difference”。把👆的公式代入,然后把"Difference"放到行上,替換掉之前的"總和(AdjClose)"
    • 4.5 使用默認的表計算。可以自己再打開“表計算”窗口,確認一下。
  5. 在圖上加一條參考線。

 

 

第一步,做出正常的收盤價圖:

  • 把維度date放到列,並改為“連續”和"天:2015年5月8號"
  • 行:adj_close收盤價
  • 標記:“顏色”Ticker, 讓圖上顯示4支股票的各自收盤價走勢圖。

 

 

 

第二步,設置參考日期。

創建一個參數作為參考日期。

用途:圖表的變化都是基於這個參考日期。

方法:

1.  在左側“數據”欄,右鍵單擊->下拉菜單選擇“創建參數..”。

 

 

2. 在參數上右鍵單擊->下拉菜單選擇"顯示參數控件"。

 

第三步,創建一個“計算字段”:“參考日期的收盤價”

“參考日期的收盤價”即👆提到的( A_close - ohter_close ) / A_close公式中的A_close

WINDOW_MAX( IF (MAX([Date]) = [Enter Reference Date:]) THEN SUM([Adj Close]) ELSE NULL END, FIRST(), LAST())

 

解釋:

window_max(exp, first, last)是一個窗口函數,熟悉SQL語法的都會了解窗口函數。聚合函數() over(分區, 排序,分區內再划分一個范圍)

   tableau把它歸類到表計算函數中了。

   很恰當,因為窗口函數就是真對每一行記錄(數據)的聚合函數計算,並把計算結果附加到這行記錄后(相當於增加了一個字段)。

  • exp是一個表達式。
  • first和last相當於分區內的再划分一個范圍。
  • window_max,其中max代表聚合方式,是取最大值。

 

第四步,創建計算字段“同參考日期收盤價比較區別”

1+ ((sum([Adj Close]) - [參考日期的收盤價]) / [參考日期的收盤價]) 

其實就是公式( A_close - ohter_close ) / A_close的變種。

1. 加1的目的:

通過➕1,把橫坐標從0太高的1,即100%。方便比較!!

2. 使用sum()的原因:

tableau的語法規則,聚合參數只能和聚合函數配對使用。所以套上一個sum(),不會產生額外效果。

 

第4.5步, 對“同參考日期收盤價比較區別”進行表計算。🌿

tableau使用了默認的表計算:而這個默認結果其實就是我們想要的結果,因此不用編輯表計算。

 

 

第五步,添加一條參考線

 

 點擊“分析”欄->"參考線"。

 

完成! 

上傳到my tableau public

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM