ToanHoang:知名Tableau大神,数据可视化自由职业者和Tableau Magic的创始人,萨尔萨舞教练,钢琴演奏者,技术爱好者和程序员。
另本文由Tableau爱好者—陈佳丽对原文进行翻译,若有问题,欢迎讨论。本期是三分图,希望你们都喜欢这个。
备注:三分图是用来展现数据随时间变化的流动情况,可用于健身房会员留存、网页浏览量变化等场景。
数据
打开Excel表格,将下列数据导入作为数据源,接着把数据加载到Tableau
Desktop/ Tableau Public
Date Segment Percentage Path
1 Members 1 0
1 Members 1 101
2 Members 0.7 0
2 Members 0.7 101
2 Leavers 0.3 0
2 Leavers 0.3 101
3 Members 0.5 0
3 Members 0.5 101
3 Leavers 0.2 0
3 Leavers 0.2 101
3 Ex Members 0.3 0
3 Ex Members 0.3 101
4 Members 0.4 0
4 Members 0.4 101
4 Leavers 0.1 0
4 Leavers 0.1 101
4 Ex Members 0.5 0
4 Ex Members 0.5 101
创建数据桶Bin:
右键单击path,转到创建并选择数据桶。在“编辑媒体夹”对话框中:
a将新字段名设置为Path (bin)
b将箱的大小设置为1
c单击确定
创建参数
1创建一个名为Total Population的参数
a将名称设置为Total Population
b将数据类型设置为整数
c将当前值设置为11545
2创建一个名为Sigmoid Size Factor的参数
a将名称设置为Sigmoid Size Factor
b将数据类型设置为整数
c将当前值设置为4
d将允许值设置为列表
添加值1,并显示为1
添加值2,并显示为2
添加值4,显示为4
添加值8,并显示为8
添加值12,显示为12
创建计算字段
Index
INDEX()-1
TC_Percentage
WINDOW_MAX(MAX([Percentage]))
TC_Curve Height
(1 /(1+EXP(-6))*(1/[Sigmoid Size Factor]))
TC_Label
[TC_Percentage]*[Total Population]
TC_Lookup -1
LOOKUP([TC_Percentage],-1)
TC_Lookup -2
LOOKUP([TC_Percentage],-2)
X
((IF [Index] < 51 THEN [Index] ELSE 101-[Index] END)*2*0.12)-6
Y
IFWINDOW_MAX(MAX([Segment])) = "Members" THEN
IIF([Index] < 51,0,[TC_Percentage])
ELSEIFWINDOW_MAX(MAX([Segment])) = "Leavers" THEN
IF [Index] < 51 THEN
1 /(1+EXP(-[X]))* (1/[Sigmoid SizeFactor])
ELSE
(1 /(1+EXP(-[X]))* (1/[Sigmoid SizeFactor]))+([TC_Percentage])
END
+[TC_Lookup -1]
ELSE
IIF([Index] < 51,0,[TC_Percentage])
+[TC_Lookup -1]+[TC_Curve Height]
+[TC_Lookup -2]
END
创建工作表
1将标记类型更改为多边形
2将Segment拖到颜色上
a右键单击对象,然后单击排序
b选择手动排序,顺序如下:
Members
Leavers
Ex Members
3将Path (bin)拖到列上
右键单击对象,并确保选中“显示缺失值”,确认或选中后,将此对象拖到路径上
4将X拖到列上
右键单击对象,转到计算使用并选择Path (bin)
5将Y拖到行上
a右键单击对象,转到计算使用并选择Path(bin)
b右键单击对象,然后单击编辑表格计算:
对于嵌套计算TC_Lookup -1,在计算依据中在Segment前打钩
对于嵌套计算TC_Lookup -2,在计算使用中在Segment前打钩
修改工作表参数
1在数据窗格中,右键单击Data并选择别名,通过将星期放在日期前来编辑别名值。
2编辑X轴,将X轴的值固定在-6到6之间,隐藏X轴标题
3编辑Y轴,隐藏Y轴标题
4移除所有网格线
5编辑多边形的颜色
6添加工具提示
最终可以看到效果图如下:
网友评论