在2018.3的版本中,Tableau推出了升级版的交互方式:集值,实现了更多的交互方法。而在2019.2中,Tableau又推出了新的交互方式:参数动作(Parameter Action)。这里带你一睹为快。
使用参数动作可让受众通过直接与可视化项交互(例如单击或选择标记)来更改参数值。可以使用参数动作来推动参考线、计算、筛选器和 SQL 查询。
一、介绍



二、背后的原理是什么?
数据交互的本质是向视图传递参数引起相应的视图变化,借助数据的反馈辅助决策。过去我们使用参数,是依靠“参数控件”来调整传递的参数,参数引起筛选器、计算字段或参考线的变化,它们参与到视图的构建里。参数动作并没有改变这个流程,只是增强了“参数控件”的方式,通过在视图上使用动作采集参数,整个交互更加流畅方便、浑然一体。
就像在photoshop中,你不再需要去色板去选择颜色,只需要用吸管在图像中拾取即可。
用上面的图,可以更加清晰地理解两种参数控制的区别,参数动作(或者称之为参数值)通过多种动作从视图中拾取参数值,而无需使用参数控件。
无需隔靴搔痒,随处点击,即时交互。
三、参数动作的案例
下面,我们说几个示例,分别代表了不同的场景。其一是使用参数修改参考线,其二是分类钻取。我们使用之前表计算和集动作用过的数据,保持案例的连贯行,同时对比参数动作与集动作的差异。
1、交互参考线 INTERACTIVE REFERENCE LINE
在十大表计算的第一题中(【Tableau】10大Tableau表计算——深度解读),我们通过参数控件来更改视图的参考线日期,进而计算其他日期相当于参考日的百分比变化。使用参数动作功能,我们无需参数控件,代之以直接在视图中选择一个点,进而“拾取”所对应的日期作为参考日。
此题的计算逻辑无需变化,仅需要在视图上添加「参数动作」即可。方法如下:菜单“工作表”——“操作”——“添加操作”,选择我们想要改变的参数。
这里比较重要的地方是最下面的“值”—“字段”,假设我们只是选择了一个数值,那么无需聚合;但是如果访问者选择了多个数值怎么办?要么怎么都不做(none/无),要么就要指定一个聚合方式,比如选择多个日期,可以使用最小值,这个最小值传递给参数。
2、下钻 DRILLING DOWN A CROSSTAB
在分析集值的时候,我们分析了一个实现分类下钻的案例(下图动画,No.6 【Tableau】“集值”八大绝技:做可视化对比),如果我们换一下方式,能否使用参数来实现呢?

集值的逻辑就是选择的部分成为动态集,通过if判断,如果在集内,则返回子类的标题;同样的,我们可以用参数代替集,选择的类别成为动态参数,在参数中的类别,返回子类的标题。如果先做一个层次的下钻,就是如下的部分:


如此以来,选择就会引起参数的改变,而参数改变又通过计算字段(参数-team)引起视图的下钻变化。

if [team 参数]=[Team] and CONTAINS ( [参数-team], [Team] )
THEN [Player] else ” END
三、集动作与参数动作的差异
当然,集动作和参数动作看上去实现的结果一样,但是二者有本质上的差异。
第一,集动作的控制更加精细,它可以设置“清除动作后”的行为,比如取消选择,那么动态集也清除为空,这样就实现了全部折叠;但是参数动作无法设置为空,也没有“清除动作后”的选择。
第二,通过集动作,可以传递多个数据,比如上面下钻时同时展开两个字段;但是参数的选择虽然可以多个,但是多个之后必须聚合为一个数值才能传递给视图。因此,为了避免访问者选择多个数据导致参数动作失效,我们需要设置“聚合”方式。
比如上面第一题,如果选择多个日期,我们可以选择“最大值”,那就会以最近的日期为参考日期;同样,第二题,如果选择多个主分类,我们可以设置“最大值”,那就就会判断在数据源的先后顺序,如果此处选择“无”,多选时,系统就不会传递参数(当然,这里选择最大值没有意义,因为数据源字段顺序不可控)。这也是为什么我称“LODs、TC和Set Action为Tableau的“三剑客”,而没有参数动作的影子。
结
真正的BI是要帮助人们从与数据的互动中找到问题的答案,参数动作进一步提高了互动的友好性,虽然和集值相比略显单薄,但是确实可以进一步提高互动的效率。我想这也是Tableau未来的研发方向之一——不断降低业务人员做可视化分析的难度,同时通过高级交互,为访问者的交互提供更多的洞察机会。
官方说明:使用参数动作以交互方式设置参数值
by 喜乐君 18615511300
Tableau Partner,软件培训与服务
May 6, 2019
May 25, 2019
Jun 3, 2019 revise
Jun 19, 2019 update
《【Tableau】参数动作:高级互动的新秀之作》有2个想法