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

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

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

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

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

示例

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

示例

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

联接两个表

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

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

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

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

取消聚合

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

最终效果

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

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

效果图

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容