手把手教数据可视化工具Tableau(五)

2018-11-01 16:54:24作者: Sean己有:2505人学习过

Tableau的操作顺序


Tableau 中的操作顺序(有时称为查询管道)是指 Tableau 将执行各种动作的顺序(动作也称为操作)。


许多操作都应用筛选器,这意味着,在您构建视图和添加筛选器时,这些筛选器始终按操作顺序所建立的顺序执行。


有时,您可能预计 Tableau 会按一个顺序执行筛选器,但操作的顺序决定的筛选器按不同的顺序执行,则结果可能会出人意料。如果发生这种情况,您有时可以更改操作在管道中执行的顺序。


本主题提供了两个用于更新视图来纠正解决操作顺序所产生问题的方案:将维度筛选器转换为上下文筛选器,以及将表计算转换为 FIXED 详细级别表达式。


Tableau 的操作顺序包括下面阐述的所有元素。筛选器显示为蓝色;其他操作(大多数为计算)显示为黑色。



示例 1:将维度筛选器转换为上下文筛选器


本示例以及以下示例使用 Tableau Desktop 附带的“Sample – Superstore”数据源。


在此示例中,视图解决以下这个问题:按总销售额计,纽约市位居前 10 名的客户有哪些?


视图包含两个维度筛选器,一个是您在“筛选器”对话框的“常规”选项卡上创建的筛选器,另一个是在“前 N 个”选项卡上创建的筛选器。问题在于,这些筛选器是同时执行的,而您希望常规筛选器在“前 N 个”筛选器之前应用,以便“前 N 个”筛选器可对常规筛选器预先筛选的结果进行操作。此解决方案是将其中一个筛选器重新定义为上下文筛选器,以便建立清晰的优先级顺序。


下面是用于构建此视图的步骤:


STEP 1:“Sales”(销售额)拖到“列”


STEP 2:“City”(城市)“[Customer Name]”([客户名称]拖到“行”


STEP 3:再次从“数据”窗格中拖出“City”(城市),这次将其拖到“筛选器”。在“筛选器”对话框的“常规”选项卡上,将筛选器设置为仅显示单一值:“New York City”(纽约市),通过单击“无”然后选择“New York City”(纽约市)可达到此目的。


这将创建一个常规维度筛选器。


STEP 4:单击工具栏上的“降序排序”按钮 ()。视图现在将如下所示:


注意列表中的前几个名称:Ashbrook、Fuller、Vernon 等。


STEP 5:现在将“[Customer Name]”([客户名称])“数据”窗格拖到“筛选器”,并创建一个“前 10 个”筛选器,以仅显示按总销售额计的前 10 名客户。



应用了第二个筛选器后,视图看起来是正确的,但您会注意到显示的名称与之前不再相同:



之前位于第二位的 Peter Fuller 发生了什么情况?目标是显示纽约市的前 10 名客户,但现在视图实际显示的是总体的前 10 名客户。


问题在于“前 N 个”筛选器和常规维度筛选器是同时应用的 — 它们都是维度筛选器,并且按 Tableau 操作顺序出现在同一位置:



解决方案是向上下文中添加(针对“City”(城市))的常规维度筛选器 — 也就是说,将其转换为一个上下文筛选器,该筛选器将先于在工作表中创建的任何其他筛选器执行。


有关详细信息,请参见使用上下文筛选器提高视图性能(http://onlinehelp.tableau.com/current/pro/desktop/zh-cn/filtering_context.html)


STEP 6:“筛选器”功能区上右键单击(在 Mac 上按住 Control 单击)“City”(城市),并选择“添加到上下文”。作为上下文筛选器,此筛选器现在优先于维度筛选器,因此视图现在将按预期方式显示:



示例 2:将表计算转换为 FIXED 详细级别表达式


在此示例中,视图将解决以下这个问题:占总销售额的百分比将如何按产品子类列出?


视图包含一个维度筛选器和一个表计算。Tableau 会在执行表计算之前应用维度筛选器。若要反转这些操作的顺序,请使用 FIXED 详细级别表达式来取代表计算。


下面是用于构建此视图的步骤:


STEP 1:在新工作表中,将“Sales”(销售额)拖到“列”


STEP 2:“Sub-Category”(子类)拖到“行”。


STEP 3:“列上右键单击“SUM(Sales)”并选择快速表计算 –“总额百分比”


STEP 4:单击工具栏上的“降序排序”按钮 (),按从最多到最少的顺序对类别进行排序。


STEP 5: 单击工具栏上的“显示标记标签”按钮 (),以在视图中显示度量值。


视图现在将如下所示:


注意前几项的百分比:14.37%、14.30% 等。


STEP 6: “行”上右键单击“Sub-Category”(子类),并选择“显示筛选器”


STEP 7:清除筛选器中“Chairs”(椅子)的复选标记。



视图中的百分比现在有所不同 — 现在最高的百分比超过了16%。在某些情况下,这可能就是您需要的结果(也就是说,在使用快速筛选器时对百分比进行了重新计算)。但在其他情况下,您可能希望百分比即使在您筛选进或筛选出某些项目时也保持稳定。这是我们在本例中所需要的。


在操作顺序中,维度筛选器是在表计算之前应用的。



若要让 Tableau 在运用快速筛选器之前计算百分比,您可以创建一个 FIXED 详细级别表达式,然后使用该表达式来取代表计算。


FIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。在本例中,您将使用它来建立各个子类的百分比 — 不会受常规维度筛选器影响的百分比。为何会这样?原因是FIXED 详细级别表达式是在应用维度筛选器之前计算的。


STEP 8:FIXED 详细级别表达式必须将(特定度量值的)“Sales”(销售额)的和除以视图的“Sales”(销售额)的总和。由于分子是聚合的,因此分母也必须为聚合,所以您编写的表达式为:


SUM([Sales])/SUM({FIXED : SUM([Sales])})


STEP 9: 将该表达式另存为 FixedSumOfSales,然后将其从“数据”窗格拖到“列”,放在使用表计算的现有“SUM(Sales)”字段的右侧(将两者都保留在视图中以便于比较)。您现在的视图为如下所示:



不管您使用快速筛选器选择或者不选择哪些字段,右侧图表中的百分比现在都保持一致。现在只需设置“FixedSumOfSales”值的格式,以使其显示为百分比。


STEP 10:“列”中右键单击“FixedSumOfSales”,并选择“设置格式”。在“设置格式”窗格中,选择“数字”,然后选择“百分比”



这样就得到了最终视图:



当您在“Sub-Category”(子类)快速筛选器中选择或清除项目时,左侧条形图中的百分比将发生变化,而右侧条形图中的百分比则不会。


标签(TAG)tableau  

分享到 :

0条评论 添加新评论

后发表评论