问题引入
如下图excel表格数据
求各个员工的销量占比?
要求
1.在不使用tableau函数的情况下实现
2.利用tableau函数创建新字段实现
3.对某一个员工不做占比,销量总和中不含这个员工的销量,占比中默认为100%,占比总和中也不含这个员工的占比。
实现
1.在不使用tableau函数的情况下实现
数据加载就不做过多的赘述
复制一份度量栏度量销量,更名为占比,放到标记栏中,选择文本
点击度量值栏中占比下拉箭头,选择快速表计算,选择合计百分比。然后再表格中右击表头重命名为占比,就ok了。
2.利用tableau函数创建新字段实现
右击制作页面左侧维度或度量栏的空白处,点击创建计算字段命名为占比1
下一步与问题1中的方法相同。
3.对员工D不做占比,销量总和中不含这个员工D的销量,占比中默认为100%,占比总和中也不含这个员工D的占比。
(1).由此可知,我们需要计算销量总和,在这之前需要做个IF条件判断,将员工D的销量设置为0。创建计算字段销量2.
效果正如我们所其期望的,如图所示:
(2)创建计算字段,对销量2求占比命名为占比2,如下图
(3)再创建字段占比3,根据IF条件判断,设置员工D 的占比为1,以及百分比设置和总和设置。
创建字段占比3:
设置百分比:
求总和:
(4)创建计算字段销量3,使员工D的销量出现在表格中且不包含在总和中。
创建计算字段:
效果展示:
满足我们的需求,最终效果如下所示,
注:tableau视图已发布在tableau public中,想学习的同学可点击学习。