了解ATTR() 函数在Tableau中的作用

875 阅读2分钟

Tableau中的ATTR() 函数用于测试与工作表的当前上下文相比,你的数据集中的某个变量是否只包含一个唯一的值

当有一个单一的唯一值时,ATTR() 将返回该值。否则,它将返回一个星号* ,意味着该单元格有多个值。

ATTR() 函数的公式可以理解为如下:

IF MIN ([dimension]) = MAX ([dimension])
THEN MIN ([dimension]) ELSE "*" END

MIN()MAX() 函数为该单元格返回相同的值时,那么将返回该值。否则,ATTR() 函数就会返回一个*

让我们使用为本教程准备的CSV文件来看看ATTR() 函数的作用:

SalesData10.csv

上述数据集包含一家办公用品公司的销售数据样本。

将数据加载到Tableau后,打开工作表,从Item 数据中创建三个计算字段。

ATTR(Item) 字段,其公式如下:

ATTR([Item])

然后是MAX(Item) 字段:

MAX([Item])

最后是MIN(Item) 字段:

MIN([Item])

接下来,将City,Item,ATTR(Item),MAX(Item), 和MIN(Item) 字段拖到工作表的Rows 架上。

你将会看到在你的工作表中生成以下图表:

Tableau ATTR() function in action

Tableau ATTR()函数的应用

正如你所看到的,当特定单元格的MAX()MIN() 值相等时,该值会显示在ATTR() 列。否则,ATTR() 列会显示一个* 符号。

请记住,本例中所有的Item 列都是在City 字段的上下文中计算的。

你可以通过替换Rows 架中最左边的字段来改变上下文。

下面的例子将City 字段与Day of Order Date 对调。所有三个计算字段都将遵循下面所示的上下文:

Tableau ATTR() function follows the context of the Sheet

Tableau ATTR()函数遵循工作表的上下文

现在你知道了它的工作原理,接下来我们来学习一下ATTR() 函数的用法。

Tableau ATTR()函数的用途是什么?

当你想知道某条记录是否有多个值时,就会用到ATTR() 函数。

如在下面的例子中,你马上就知道只有Chair 的物品是在Newcastle 城市出售的。对于其他城市,则有不同的物品出售。

ATTR() 函数返回的星号* ,可以防范由于基础数据的变化而导致的计算字段的错误。

当对一个返回* 的单元格进行计算时,被计算的单元格将返回NULL 。当你有一个关键的信息,不能返回不正确的计算结果时,这很有用(比如在卫生保健或国家安全系统中)。

该函数还可以用来将非聚合值改为聚合值,以解决聚合错误。

现在你已经了解了ATTR() 函数在Tableau中的作用。干的漂亮!👍