跳至正文

【Tableau】从0到1学习集动作:变化无穷的新技能

英文原文: On Your Marks, Get Set, Go: Everything You Need to Know to Get Started with Set Actions by Lindsey Poulter ,December 18, 2018

PS. 为了更好理解,翻译过程中有调整,有补充。可点击上述链接查看英文原文。_喜乐君

set action = 集值 = 集动作

2018.3版本发布的集值功能,是自LOD表达式以来最为重要的功能之一。此前我(Lindsey)从没有用过“集”,因此我还是费了一点周折才从创建集到生成动作以产生动态效果。在使用新版本的6个星期里,我发现集值是如此革命性的功能,它让我们以各种新的方式与数据互动,进而增强了数据用户的体验,并更容易地发现数据洞见。在下面的文章中,我想总结一下关于集和集值的知识,从而帮助大家尽快使用这个Tableau最棒的交互功能。

 

一、集的基本知识 What are sets?

针对于某个维度,我们可以使用集把所有数据分为两类:集内和集外。例如,超市数据的区域Region字段有四个数值:中部、东部、南部和西部。如果你只想看中部和西部区域,那么我们可以创建一个集,分为集内(中部和西部)、集外(东部和南部)。在Tableau中,你只需要右键维度字段,选择创建> 集 即可。

弹出的“创建集”对话框,是选择集内成员的各种选项。我们可以使用“条件”或者“顶部”选项,说明逻辑来决定集内/集外的数值(比如按照销售额的聚合来选择前两个区域),或者可以手动选择哪些维度成员在集内。这里,我们直接使用手动选择中部和西部。

创建集之后,在左侧边栏(side bar)度量数据面板下就出现了一个“集”区域。这是我们创建的集。

就像维度一样,可以直接拖拽集字段到工作簿的卡和面板中。例如,我们创建一个新的工作簿,把“区域”字段拖拽到行,把“区域集”拖拽到标记的文本标签中。结果就会显示,每个区域的成员是在“区域集”的集内还是集外。

集也可以用于计算字段。集其实是一个布尔计算,集内的成员对应“真”,而集外成员对应“伪”,使用下面的语法,我们写了一个计算字段,如果在集内先显示“in set(集内)”,否则就是“out of set集外”。

//这个语法后期用的非常多,相当于给集内/集外分别增加判断或计算。

IF [Name of Set | 集名称] 
THEN "如果在集内,执行这一行语句" 
ELSE "如果在集外,执行这一行语句" 
END

虽然有很多种使用集的方式,但是上面是最基础的使用集的知识。如果你想学习更多关于集的知识,可以看下面的文章:

二、什么是交互动作 What are actions?

“动作”是用户与工作簿或者仪表板的数据进行交互的方式。动作可以把工作簿或仪表板中的选定数据,传递给仪表板的其他位置。Actions pass along a selected data point to some other part of the dashboard or workbook.

「喜乐君」2019.2版本之后,这里有五种不同的动作方式:

  • 筛选器(选择的数据会被用于筛选过滤指定的工作簿数据)
  • 高亮(选择的数据会被移到视图的前面,相对于其他数值突出显示)
  • URL (选择的数据会被传递给一个URL链接,然后执行打开一个新网页)
  • 集值(选择的数据被传递给创建好的集)
  • 参数动作(选择的数据表去传递给创建好的参数——2019.2版本)

有三种方式可以触发生成动作:

  • 选择 (在数据上点击)
  • 悬停 (鼠标悬停在数据上方)
  • 菜单  (选择一个标记,然后点击提示中的超链接)

集值功能和筛选器有类似之处,但又不尽相同,我们借用筛选动作温习一下动作是如何执行的。

假设如下的仪表板,可以看到各个州和各区域的销售,在区域条形图上,我创建了一个筛选动作,每当我点击右侧的区域条形图的西部区域,左侧的地图就会筛选仅显示西部区域所包含州的销售;点击东部区域,结果亦然。

筛选动作的执行原理是什么呢?不管选择哪个区域,数据都通过动作传递给了左侧州的销售地图上,然后仅筛选动作传递过来的数值。

 

三、何为集值?What are set actions?

就像我们之前说的,集是把维度下的数据分为了集内/集外两个组,动作把选择的数据传递给视图的其他部分。因此,集值(集动作)就可以通过与数据的交互选择,动态修改哪些成员在集内。当选择一个数据标记时,筛选器动作是把选择的结果传递给筛选器,而集值是把数值传递给了集。新的维度成员传递给集,就替换了集此前的数值。在此之前,并没有一种方法能让用户修改集的数值。如今,我们可以在一个仪表板内修改集的数据成员了,无限可能自此诞生。

看一下刚才创建的区域集合,我们展示一下如何把集值加入工作簿从而让用户选择区域。

要创建一个集值,点击菜单栏的工作表——操作——添加动作——集值。

集值的对话框,就是下面的样子,我们输入集值的名称,选择生效的工作簿,要更改的数据源及集,同时还要选择“清除选择后”应该执行什么动作。 

当我们想要配置一个集值时,我们需要综合考虑以下的因素:

源工作表:

  • 动作在哪里执行?和筛选动作一样,你需要选择哪些工作簿或者仪表板可以执行集值动作。仅仅在工作簿运行,还是仅仅在仪表板运行,或者兼而有之?在这里,我们只想让集值在“各区域的销售条形图”这个工作簿运行。
  • 用户如何激活这个动作?如同筛选动作,你必须选择动作的运行方式,在标记上单击选择、悬停还是通过弹出工具提示使用菜单。在这里,我们希望通过选择(单击)方式来交互。

目标集:

  • 左侧“改变哪个数据源及其对应集?” 选择在哪个关联的数据源上创建的数据集会被使用和更新。在这里,我们使用“超市”数据,对应的集是“区域集”。
  • 右侧“清除选定内容将会?” 这个区域的选项会极大的影响集值运行的方式,这里我们多说几句。首先,当我们取消选择时会发生什么?这取决于这里的动作选项。假设我们的交互方式是“选择”(点击),用户点击一个数据标记,该标记就会高亮而其他标记则会变暗。“清除选定内容将会”指的是用户不再选择这个数据标记会发生什么,一般是用户又点击了一次。在这里,用户点击西部区域,会把“西部”添加到“区域集”。问题是:当我们不再选择“西部”时,会发生什么?
  • 如果我们使用“悬停”,当用户把鼠标放在标记上(会出现一个黑色边框),该维度成员就会加入到集。“清除数据将会”意味着当用户把鼠标移走,不再悬停在维度上会发生什么。在这里,把鼠标悬停在“东部”会把“东部”加入到数据集。我们也需要回答,当我们把鼠标移走之后呢?
  • 同样,如果使用使用“菜单”的交互方式,当用户点击一个数据标记,就会弹出一个带超链接的工具提示。点击超链接就会把维度成员加入集,就像“选择”交互一样,选择部分会高亮而其他会变暗。“清除选择将会”意味着当我们不再选择这个标记(点击蓝色的部分)会发生什么,视图会会回到原来。在这里,如果我们取消选择“西部”,会发生什么?
  • 虽然有点啰嗦,现在我们知道“取消选择将会”代表的意思了,有几个选项可以回答上面的答案呢?这里有三种方式,对应取消标记选择后的三个行为方式,就像筛选动作一样。如果我们查看工作簿,会发现“中区”在集合里面。


    如果在“取消选择将会”选项中选择“保留集值”,取消选择“中区”就不会发生任何变化。直到下一次动作之前(新的标记被选择替代了当前集),这个结果都不会改变。
    如果在“取消选择将会”选项中选择“将所有值添加到集”,取消选择“中区”后将会把所有数值都添加到数据集,这样所有的区域都在“集内”了。

    如果在“取消选择将会”选项中选择“从集中移除所有值”,取消选择“中区”就会从集中移除所有数值,这样所有的区域值都在“集外”了。 

重新聚焦数据:上面的“清除选择”选项指的是当用户不再选择一个数据标记(取消选择或者菜单)、或者鼠标不再悬停在数据标记上(使用悬停交互)时集会发生什么变化。汇总以下有三个选项:

  • 保留集值:在下一次选择新标记重新激活了集值动作前,集保持不变。
  • 将所有值添加到集:清除数据标记选择会把所有制都加到集内。
  • 从集中移除所有值:清除数据标记选择会把所有值都移除到集外。

下面的例子中,我们想在取消数据选择后把所有制都加入集

设置完之后,我们测试一下。点击任何一行都可以更新数据集(显示在集内–IN)。点击高亮的蓝色可以清除选择,这时所有的数据都被加入了集内。

使用过程中有几个敏捷方法可以用到:

– 多选 Selecting Multiple Values

如果要多选标记,比如同时选择中区和西区,按着Command键(macOS)或者control键(window),点击想要的标记即可。

视图中的字段 Field In the View

要让集动作正常运行,创建集时所依赖的维度字段必须要在视图中显示。例如,我们基于“区域”维度创建了“区域集”,但是我们创建的工作簿只有“细分”字段,那么就无法通过集值动作来更新视图中的集。事实上,添加集值时会提示错误,“工作簿上缺少字段”。

而只要我们把区域字段加入到视图,不管是行、列还是标记区域,Tableau就不会提示错误了。

创建集依赖的维度(上面是区域)只需要出现在有集值动作的工作簿中(源工作表)。在其他的工作簿中,即便没有集所依赖的维度,也不影响集的使用。 The dimension the set is created off of (region) only has to be on the worksheet that is used to update the set action (the source sheets). The set can be used in other worksheets without the dimension the set is created off of present.

三、集值之独特之处

至此,你可以想一下,集值确实是与筛选截然不同。集值可以用一个集完成多种交互。让我们先回顾一下示例“各区域的销售”和“各州的销售”,以便更好地理解集值。


筛选动作的标准流程如下:

  1. 选择“西区”条形图,
  2. 把“西区”的数值添加到了左侧“各州销售”工作簿的筛选器中,
  3. 从“各州销售”中筛选,仅保留“西区”的部分。

如果我们把筛选动作改为集值,流程如下:

  1. 点击选择“西区”条形图,
  2. 把“西区”数值加入到数据集,
  3. 基于新集,做任何事情。

说它可以做任何事情就在眼前,能让集值如此特别的原因是现在“西区”这个值已经被包围为一个变量(就像参数)。我们可以基于此做任何事情,不像筛选器只能放在筛选器面板中,集值能让我们做非常多的事情,我们可以把集放到筛选器中,放到行或者列面板中,放到标记卡中,甚至可以应用于计算字段中。我们用上面的两个数值做几个例子,使用早先我们创建的“区域集”。

案例1 使用区域筛选州的销售   Filter the Sales by State worksheet by the selected region(s)

我们可以把区域加入到筛选器,结果就会只看到西部区域的各州销售了。

我们可以在仪表板中使用集值,每当我们任选一个区域,都会更新集的范围,这可以替换筛选器动作。


案例2:改变所选州的颜色 Change the color of the selected region(s)

在“各区域销售”工作簿中,我们可以把“区域集”加入到颜色标记。这样就可以帮助用户分别哪些标记被选择了,通过颜色把“区域”分为两类。


案例3:显示所选州的利润 
Show the profit for the selected region(s)

在“各区域销售”中,我们可以写一个计算字段,当我们选择一个州时,下面的数值就是所选州的利润值。可以通过下面的计算字段来实现。

IF [Region Set] THEN [Profit] END

此字段可以告诉我们,集内区域的利润值是多少。它可以添加到标签中,对应的格式化我们的视图:

案例4:显示所选区的总额百分比Show the % of total sales of the selected region(s)

创建一个新的工作簿,把销售额字段加入列,把区域集放在行,使用快速表计算的总额百分比,我们可以看到集内的总额占比。这帮助我们快速了解集内的成员占比情况。

我们可以再把它加入到此前的仪表板中,这样就更加直观的看到所选区域的总额占比了。

上面的四个案例结合在一起,就是下面的仪表板:

仪表板的最终操作流程如下:

  1. 点击“西区”条形图;
  2. 把“西区”添加到集;
  3. 筛选西区各个州的销售额(此处集被加入了筛选器);
  4. 颜色单独标记了西区的各州(集放在了颜色标记上)
  5. 显示了所选“西区”的利润总额;(使用计算字段计算集)
  6. 计算西区利润在总利润的占比。(集放在了行上并使用表计算)

四、总结 Conclusion

集值如此强大,它增加了客户的交互体验和视图样式。集可以用于筛选器、标记、作为维度加入行或者列、在计算字段中使用。集值赋予我们决定哪些数值在集中的能力,这有助于提高分析的灵活性和交互体验。集值可以让用户查看集内的成员包含什么,无需借助筛选或者参数,仅需简单的点击即可实现。在你的仪表板中引入集值会让你的听众更方便而乐于分享你的数据洞见。

下面是一些使用集值可以做到的更多的交互,而这是筛选动作无法完成的。

  • 下钻分析[how to]
  • 显示分布的底层数据 Show the underlying data points of a distribution [how to]

  • 使用图标添加或者移除数据 Use icons to add and remove values from a set [how to]
  • 使用自定义按钮切换度量尺度或维度Create custom buttons to switch metrics (or dimensions) [how to]

希望查看更多案例,可以查看我们的public 主页( workbook on Tableau Public ),或者我的博客地址(on my blog)。

 

May 10~12, 2019  翻译 喜乐君
May 14, 2019 修改部分语句
Jun 19, 2019 update and revise

《【Tableau】从0到1学习集动作:变化无穷的新技能》有4个想法

  1. Pingback: 【平民数据科学家】从头开始用Tableau – 喜乐君

  2. Pingback: Tableau案例展示:使用集值做互动分析 – 喜乐君

  3. 您好,想请问一下文中【要创建一个集值,点击菜单栏的工作表——操作——添加动作——集值。】这一步中,为何我能添加的动作只有筛选器,url和高亮而没有集和集动作呢,我创建的集及其所关联字段也在视图中,为何不能添加集动作实现交互呢?

评论已关闭。

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading