教程: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

 

posted @ 2020-04-18 10:46  Mr-chen  阅读(2129)  评论(0编辑  收藏  举报