美文网首页
用Tableau画桑基图-方法二(联接表)

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

作者: 扫地sir | 来源:发表于2019-02-27 13:40 被阅读5次

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

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

    首先我们构造数据集,我们还是用上一篇文章用过的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直达),和第一篇没区别。

    效果图

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

    相关文章

      网友评论

          本文标题:用Tableau画桑基图-方法二(联接表)

          本文链接:https://www.haomeiwen.com/subject/cqoxuqtx.html