帕累托图,又称排列图、主次图,在反映质量问题、展现质量改进项目等领域有广泛应用,目前,也被应用到了社会生活的很多领域。在日常业务中,可以通过帕累托图分析销售额的多少百分比来自多少比例的客户,或者来自哪几种主要的产品,也就是区分出“微不足道的大多数”和“至关重要的极少数”。

这里使用tableau自带的超市示例,建立客户销售额的帕累托图,查看分析前xx%的用户贡献了多少销售额。
用tableau创建帕累托图的主要步骤:
- 创建累计占比曲线
- 创建分类柱形图
- 添加参考线
最终实现的帕累托图是下面这样的:

创建累计占比曲线
创建累计占比曲线是用tableau创建帕累托图的一个难点,因为需要使用表计算函数来创建计算字段。
创建累计占比曲线主要步骤:
- 创建计算字段
- 创建曲线图
创建计算字段
根据分析需求,这里需要创建客户销售额累计占比字段,用于计算客户销售额的累计占比数据。如果用EXCEL表格来演示,该计算字段的计算结果与下面黄色列的结果是一样的:

回到tableau,创建“客户销售额累计占比”计算字段,需要用到RUNNING_SUM和TOTAL表计算函数,具体公式如下:

TOTAL(expression):返回表计算分区内表达式的总计。该函数的默认计算依据是“表(横穿)”,会将表中的行数值进行汇总。
SUM(销售额)/TOTAL(SUM(销售额)):SUM(销售额)是每个客户销售额的总和,TOTAL(SUM(销售额))是表中所有客户销售额的总和,该计算得到的结果就是每个客户销售额占总销售额的比重。
RUNNING_SUM(expression):返回给定表达式从分区中第一行到当前行的运行总计。简单理解,该函数的作用就是将括号中表达式的结果从第一行到当前行进行逐行累加,具体在这个公式里,就是将客户销售额比重进行逐行累加。
创建曲线图
Step01 创建视图。将“客户名称”字段拖放到“列”功能区,“客户销售额占比累计”计算字段拖放到“行”功能区,得到客户销售额占比的柱形图。

Step02 调整视图显示。由于客户数量很多,因此需要将tableau的视图显示方式调整为“适合宽度”,视图就会根据窗口大小显示在一屏内,而不像之前的视图还需要进行左右拖动才能观察所有客户情况。

Step03 字段排序。根据帕累托图的分析要求,需要将客户销售额按照从高到低进行排序。具体操作上,通过“列”功能区的“客户名称”字段进行销售额的降序排序。

Step04 调整图形样式。在“标记”卡中,将图形样式调整为“线”,同时将纵坐标轴的数字格式调整为百分比显示,即可完成客户销售额累计占比曲线的创建。

创建柱状图
这一步的目的是创建每个客户的销售额柱状图,并按照从高到低顺序排列,与上面的曲线图叠放在一起,形成组合图。最后,再将横坐标的客户名称变为客户数量的累计百分比形成,就可以成为一个标准的帕累托图。
创建柱状图的主要步骤:
- 创建双轴柱状图
- 创建计算字段
- 变换横坐标轴数值
创建双轴柱状图
Step01 创建客户销售额视图。将度量区的“销售额”字段拖放到“行”功能区,并放在“客户销售额占比累计”计算字段前面,这是因为要将“销售额”柱状图作为主坐标轴。

Step02 更改客户销售额视图样式。在“标记”卡区域,将“销售额”的图形样式选为“条形图”。

Step03 创建双轴图。视图区中,对“客户销售额占比累计”曲线图的纵坐标选择“双轴”,就可以将两个图叠放在一起。

Step04 取消副坐标轴标题。在副坐标轴上,取消“显示标题”选项,即可完成对柱状图的初步调整。

此时得到的双轴图,还不能称之为帕累托图,因为横坐标轴上,是客户的具体名称,而不是客户数量比例的累计值,因此,还需要进一步改进。

创建计算字段
要创建客户数量累计比例的计算字段,同样也需要用到表计算函数。具体公式如下:

INDEX( ):返回分区中当前行的索引,不包含与值有关的任何排序。这里可以理解为对当前表进行顺序编号,每行,即每个客户一个编号。
SIZE( ):返回分区中的行数。这里可以理解为返回当前表的客户数,因为每个客户一行,有多少行就有多少客户。
INDEX( ) / SIZE( ):根据对函数的理解,这里实际上就是用客户当前编号除以客户总编号,换个方式表述,就是用当前行的累计客户数量除以客户总数量,得到的就是当前行的客户数量累计比例。
变换横坐标轴数值
创建完成客户数量累计比例的计算字段后,就可以着手将横坐标轴的客户名称替换为客户数量累计比例,但这个操作并不能一步到位,中间还会涉及到一些字段的移动调整转换。
Step01 拖放“客户名称”字段。由于视图中的两个计算字段——“客户销售占比累计”和“客户数量累计比例”,都是以“客户名称”作为统计计算的基础维度,因此,需要将“客户名称”字段拖放到“标记”卡的“全部”的“详细信息”,确保“列”功能区的“客户名称”字段被替换后,仍然可以作为表计算的计算依据。

Step02 拖放“客户数量累计比例”计算字段。将“客户数量累计比例”计算字段拖放到“列”功能区,替换掉该功能区的“客户名称”字段。

Step03 设置计算依据。将“列”和“行”功能区的两个计算字段的计算依据,均设置为“客户名称”。

Step04 调整坐标轴数字格式。将横坐标轴的数字格式调整为“百分比”,一个标准的帕累托图至此创建完成。

添加参考线
完成标准帕累托图的创建后,为了更方便的交互及观察数据,可以继续对其添加动态参考线。
添加动态参考线步骤:
- 创建动态参数
- 创建计算字段
- 添加纵轴参考线
- 添加横轴参考线
创建动态参数
创建“客户销售额百分比参数”,作为“客户销售额占比累计”纵轴参考线。
- 设置“数据类型”为“浮点”
- 选择“范围”,并将最小值和最大值分别设置“0”和“1”,步长为“0.01”

创建计算字段
创建“横轴参考线”计算字段,将上面的参数添加到公式中,确保横轴参考线和纵轴参考线的交点落在曲线上。

添加纵轴参考线
在右侧的纵坐标轴上,通过鼠标右键选择“添加参考线”,在弹出的窗口中,进行参考线设置。
- 在“范围”栏选择“每区”
- 在“线”栏,“值”的位置选择“客户销售额百分比参数”,“标签”的位置选择“值”
- 根据自己偏好设置参考线格式

添加横轴参考线
Step01 将“横轴参考线”计算字段拖放到“标记”卡中,“全部”窗口的“详细信息”,这样才能在参考线设置中,这一步务必要记得。

Step02 在横坐标轴上,通过鼠标右键选择“添加参考线”,在弹出的窗口中,进行参考线设置。
- 在“范围”栏,选择“每区”
- 在“线”栏,“值”的位置选择“横轴参考线”计算字段,以及“最大值”,“标签”位置选择“值”
- 根据自己偏好设置参考线格式

Step03 将“横轴参考线”的格式设为“百分比”,就可以将参考线上的横轴数字显示为百分数。

最终完成的帕累托图如下所示:
