用Tableau画桑基图-方法二(联接表)

上一篇文章我们用表计算的方法做了一个桑基图,那个是通用的方法,但是对于初学者来说,可能不是特别好理解里面的表计算。

我个人觉得用联接表的方法,直接构造需要的数据,可能更好理解一点,一开始我也是用这种方法学习研究的。

首先我们构造数据集,我们还是用上一篇文章用过的2018年世界杯排名数据(百度网盘),但是我们需要用到两张新表,

第一张表 手工构造t值的数据,这就是一张世界杯排名,32个国家,32行数据,没有path字段,取而代之的是link字段

用Tableau画桑基图-方法二(联接表)_第1张图片
示例

另一张表是构造好的t值表,这张表直接构造好了t值,-6到6,一共49行

用Tableau画桑基图-方法二(联接表)_第2张图片
示例

Tableau引入数据,我们需要在连接数时使用内联接,连接两张表,这样通过形成笛卡尔积,直接做好了要用的数据,基本不需要再用表计算来计算t值和rank值了,后面的计算是行级别计算。

用Tableau画桑基图-方法二(联接表)_第3张图片
联接两个表

以为需要计算的每一行数据都已经有了,不需要通过数据桶再构造数据了,我们只需要新建两个字段:

【sigmoid】=1/(1+EXP(1)^-[t])

【ft】=[身价排名]+(( [最终排名]- [身价排名])*[sigmoid])

然后,把【t】拖到列功能区,把【ft】拖到行功能区,【国家】拖到标记-详细信息,标记类型选择“线”,也可把国家拖到颜色标签,特别要指出的是,因为是行级别计算,需要在分析中取消聚合度量,才能计算每一个点的ft值

取消聚合

效果如下,t和ft是不需要表计算的:

用Tableau画桑基图-方法二(联接表)_第4张图片
最终效果

剩下的就跟第一篇一样了,拼接工作表。

还是把上面我做好的效果,放到了public上(public直达),和第一篇没区别。

用Tableau画桑基图-方法二(联接表)_第5张图片
效果图

特别要说的是,画图的前提都是构造数据,不管是用什么方法,只要构造的数据是一样的,画出的图就是一样的。这个需要不断的去研究摸索。

此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下

你可能感兴趣的:(用Tableau画桑基图-方法二(联接表))