【问题标题】:Tableau: How to create a filter based of 3 different columns?Tableau:如何创建基于 3 个不同列的筛选器?
【发布时间】:2020-12-15 04:12:00
【问题描述】:

如何创建基于 3 个不同列的过滤器? 你好, 我是 Tableau 的新手,因此感谢您在此过程中提供的任何帮助或指导。

我目前面临一个问题,我需要构建一个考虑 3 列的过滤器,然后根据交互式过滤器选择,图表应相应地显示数据。例如,这是我的表结构:

Region | Sales_upper | Sales_lower | Sales_avg
A.     | 100.        | 70          | 80
B.     | 130.        | 60          | 100
 

这是我的目标: 我想按地区显示我的销售数据,并有一个名为“SALES”的过滤器作为单选按钮,我可以在该按钮下选择“Sales_lower”、“Sales_upper”或“Sales_avg”。如果我选择“Sales_upper”,则数据应仅过滤前两列,即 Region[A,B]、Sales_upper[100;130]。

我将如何实现这个解决方案?

【问题讨论】:

    标签: filter tableau-api cascading


    【解决方案1】:

    您的用例不适合过滤器。

    请参阅,过滤器用于按行而不是按列对数据进行子集化。假设您的数据包含 1000 行和 10 个列/字段,并且您希望在大约 500 行上计算结果(根据应用于列/字段的某些标准进行过滤),您必须 FILTER数据。过滤器将产生 500 行 x 10 列。

    为了显示(阅读选择)某些字段,您必须选择要添加到视图中的字段。比如说,在上面的例子中,如果你想显示/选择 5 列,那么你只需要在视图中选择这五列(读取字段)。

    如果您想显示 500 行 x 说 5 列数据,那么您需要同时应用两者。

    现在,字段(列)在 Tableau 中有两种类型(DimensionsMeasures),每个进一步分为两个子类别( 连续谨慎)。如果您在视图中选择/添加维度字段,则会显示所有值(唯一)。如果您选择要查看的任何 度量 字段,而不是添加所有度量值,而是聚合这些值(默认情况下总和)。

    在您的示例中,如果您仅将 sales_upper 添加到视图中,则会自动汇总这些值并显示 230 而不是两个单独的值(100 和 130)。如果您必须将它们显示为两个不同的值,则必须将字段转换为维度(之后您无法聚合该字段)。

    要让用户将他/她想要的字段添加到视图中,您可以在 tableau 中使用 parameters,您可以在其中添加带有您想要添加的值的参数。此后,您可以使用 calculated field 将您的度量映射到该参数。

    要在 tableau 中添加 级联过滤器,您必须在 tableau 中的所需字段上设置 hierarchy,但同样不适合您的用例,因为它将对维度值(添加到层次结构中)应用过滤器,而不是根据需要对第一个维度值和维度名称应用过滤器。

    编辑/更新 作为一种可能的解决方法,您可以将三个销售字段转为两个字段,一个名为 sales type 的字段的值分别为 sales upper、sales lower 和 sales avg。另一个字段将包含相应的值。因此,每当您在sales type 上添加过滤器(选择任何一种类型)并将value 字段与region 一起添加时,您都可以在一定程度上实现您想要的视图。请看以下截图

    请注意,列名必须转换为行值才能将 FILTER 应用于这些

    【讨论】:

      猜你喜欢
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      相关资源
      最近更新 更多