跳至正文

【Tableau】参数动作:高级互动的新秀之作

此前参数只能提前设定,并在右侧的控件中调整。如今,参数动作可以让访问者通过与视图中的标记交互,进而直接修改参数值。不管是你的参数是日期、变量,用于分类或度量值,参数动作都可以让你使用视图的数据,作为直接的交互入口。比如下面的示例,通过点击不同的标题,视图可以产生相应的变化。它的原理是什么呢?
actions_parameters_reflineupdate
actions_prm_intro.gif
在下面的这个大家熟悉的股票相对变化的视图中,通过增加“参数动作”,我们可以从视图中点击更改参数,比通过参数控件选择简单方便。
PA_author_execute.gif

二、背后的原理是什么?

数据交互的本质是向视图传递参数引起相应的视图变化,借助数据的反馈辅助决策。过去我们使用参数,是依靠“参数控件”来调整传递的参数,参数引起筛选器、计算字段或参考线的变化,它们参与到视图的构建里。参数动作并没有改变这个流程,只是增强了“参数控件”的方式,通过在视图上使用动作采集参数,整个交互更加流畅方便、浑然一体。

就像在photoshop中,你不再需要去色板去选择颜色,只需要用吸管在图像中拾取即可。

屏幕快照 2019-05-25 下午9.41.44用上面的图,可以更加清晰地理解两种参数控制的区别,参数动作(或者称之为参数值)通过多种动作从视图中拾取参数值,而无需使用参数控件。

无需隔靴搔痒,随处点击,即时交互。

三、参数动作的案例

下面,我们说几个示例,分别代表了不同的场景。其一是使用参数修改参考线,其二是分类钻取。我们使用之前表计算和集动作用过的数据,保持案例的连贯行,同时对比参数动作与集动作的差异。

1、交互参考线 INTERACTIVE REFERENCE LINE

在十大表计算的第一题中(【Tableau】10大Tableau表计算——深度解读),我们通过参数控件来更改视图的参考线日期,进而计算其他日期相当于参考日的百分比变化。使用参数动作功能,我们无需参数控件,代之以直接在视图中选择一个点,进而“拾取”所对应的日期作为参考日。

Screen Shot 2019-03-29 at 8.02.04 AM

此题的计算逻辑无需变化,仅需要在视图上添加「参数动作」即可。方法如下:菜单“工作表”——“操作”——“添加操作”,选择我们想要改变的参数。

Exa 1 parameter.jpg

这里比较重要的地方是最下面的“值”—“字段”,假设我们只是选择了一个数值,那么无需聚合;但是如果访问者选择了多个数值怎么办?要么怎么都不做(none/无),要么就要指定一个聚合方式,比如选择多个日期,可以使用最小值,这个最小值传递给参数。

2、下钻 DRILLING DOWN A CROSSTAB

在分析集值的时候,我们分析了一个实现分类下钻的案例(下图动画,No.6 【Tableau】“集值”八大绝技:做可视化对比),如果我们换一下方式,能否使用参数来实现呢?

Example 6 动画 - Single Member Drill Down.twbx

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

Exa 2 parameter 钻取.jpg
下一步就是通过参数动作,让参数随着选择而动态变化,如下图:
屏幕快照 2019-05-25 下午11.23.26.png

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

如果我们要实现两级的选取如何?那就同样的道理,创建第二个参数,第二个计算字段,用同样的方法。不过这里需要注意一点,当我们选择第三级标题时,可能并不在第二级标题的范围之内,这样的钻取就没有意义了。如下图:
屏幕快照 2019-05-25 下午11.29.23.png
因此,我们就需要在第二个计算字段中增加一个判断,判断二级的标题还要在参数的范围之中,由于是一对多的关系,我们可以使用contain函数,这样就不会出现上面的错位情况了。
if [team 参数]=[Team] and CONTAINS ( [参数-team], [Team] )
THEN [Player] else ” END

三、集动作与参数动作的差异

当然,集动作和参数动作看上去实现的结果一样,但是二者有本质上的差异。

第一,集动作的控制更加精细,它可以设置“清除动作后”的行为,比如取消选择,那么动态集也清除为空,这样就实现了全部折叠;但是参数动作无法设置为空,也没有“清除动作后”的选择。

第二,通过集动作,可以传递多个数据,比如上面下钻时同时展开两个字段;但是参数的选择虽然可以多个,但是多个之后必须聚合为一个数值才能传递给视图。因此,为了避免访问者选择多个数据导致参数动作失效,我们需要设置“聚合”方式。

比如上面第一题,如果选择多个日期,我们可以选择“最大值”,那就会以最近的日期为参考日期;同样,第二题,如果选择多个主分类,我们可以设置“最大值”,那就就会判断在数据源的先后顺序,如果此处选择“无”,多选时,系统就不会传递参数(当然,这里选择最大值没有意义,因为数据源字段顺序不可控)。这也是为什么我称“LODs、TC和Set Action为Tableau的“三剑客”,而没有参数动作的影子。

屏幕快照 2019-05-25 下午11.40.06.png

真正的BI是要帮助人们从与数据的互动中找到问题的答案,参数动作进一步提高了互动的友好性,虽然和集值相比略显单薄,但是确实可以进一步提高互动的效率。我想这也是Tableau未来的研发方向之一——不断降低业务人员做可视化分析的难度,同时通过高级交互,为访问者的交互提供更多的洞察机会。

官方说明:使用参数动作以交互方式设置参数值

by xilejun Tableau Partner,软件培训与服务

May 6, 2019
May 25, 2019
Jun 3, 2019  revise
Jun 19, 2019 update

了解 喜乐君 的更多信息

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

Continue reading