Tableau-桑基图

发布时间 2023-10-30 11:38:20作者: 懒床的星间

桑基图.xlsx

1.基本函数

1.index()

20210507094135282.png20210507094734414.png

2.running_sum(),running_avg()

取running_avg举例
20210507101427809.png20210507101626479.png
image.png

running_sum: 返回从第一行累计的相加到当前行的值

3.total()

函数公式为TOTAL(expression),表示返回给定表达式(expression)的总计。例如,TOTAL(SUM([营销额])),用于计算各自分区中全部行的SUM(营销额)

2.Sigmoid曲线

画Sigmoid曲线需要用到【线】标记下的【路径】选项。将某一个字段拖拽到【路径】中,相当于将原本汇总的数据按字段进行分组,然后将新形成的点串联成线。 举个例子,先定义两个计算字段【index】和【fun】,其中【index】的定义与前文相同,【fun】的定义如下:
20210510141452920.png
将【index】和【fun】分别拖到【列】和【行】中,此时表中只有一个点(因为INDEX()是聚合函数)。如下图:20210510141848198.png
接下来,将【标记】中的【自动】改为【线】,并将【维度】中的【子类别】拖到【路径】选项中,编辑【index】和【fun】的计算依据,将其【计算依据】都改为【特定维度】下的【子类别】。将【列】中的【index】复制到【标签】选项中,得到如下结果:
20210510142729529.png上图中的线将索引号从1到17的点连接了起来得到了一条抛物曲线。下面来画sigmoid曲线。修改【index】和【fun】的定义,具体如下:
20210510143601626.png2021051014350130.png

重复刚才画抛物线的步骤,即可得到下图,sigmoid曲线就完成了。20210510144027807.png

3.画桑基图

1.数据:

image.png
添加一列(列名随意):
image.png
创建新表:
image.png

2.tableau连接表:

image.png
创建字段:

名称 定义 作用
index (index()-25)/5 将index的计算依据改为【类型(数据)】之后,可以保证index取值范围在【-4.8, 4.8】之间
sigmoid 1/(1+EXP(-[index])) sigmoid曲线
rank1 RUNNING_AVG(SUM([销售额]))/TOTAL(SUM([销售额])) sigmoid曲线的左起点高度
rank2 RUNNING_AVG(SUM([销售额]))/TOTAL(SUM([销售额])) sigmoid曲线的右终点高度
ft [rank1]+([rank2]-[rank1])*[sigmoid] sigmoid曲线函数
size RUNNING_AVG(SUM([销售额])) 调整sigmoid曲线粗细,占比越大曲线越粗

添加数据桶:
image.png
image.png
image.png

3.画sigmoid图:

image.png
编辑表计算:
image.pngimage.png
image.pngimage.png
image.png

4.画柱状图

image.pngimage.png

5.整合

新建仪表板:
image.png

选择平铺并隐藏全部标题,然后选择浮动将两个柱状图加入

image.png
发现有些对不齐,倒序一下即可
image.png
image.png