上次修改日期: 30 Nov 2023
环境
Tableau Desktop答案
ATTR() 指明多个值
ATTR() 聚合指明存在多个值,但只需要一个值。例如,在混合两个或更多数据源时,会将来自辅助数据源的字段自动包含在 ATTR() 中,原因是必须对来自辅助数据源的字段进行聚合。如果辅助维度有多个值,则 ATTR(Secondary Dimension) 将在视图中显示星号,数据混合疑难解答:星号出现在工作表中中进行了进一步说明。
如果使用另一个聚合替代了 ATTR(),则 Tableau Desktop 将会显示误导信息。例如 MIN(Secondary Dimension) 将显示第一个维度值,并且无法确定辅助数据源中实际有多个值。星号表明关系或视图需要调整。
工作方式
ATTR() 会比较基础数据的每条记录中分组为视图中的一个分区(例如,一个条形、一个圆圈、一个单元格等)的所有值,并且,如果值均相同,则 ATTR() 将返回该值。否则 ATTR() 将返回星号。公式最简单的格式如下所示:
IF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension]) ELSE "*" END
ATTR 函数将对字段中的所有成员求值,如果 1) 只有一个值 (MIN = MAX),或者 2) 所有成员都相同 (MIN = MAX),则返回 1;否则返回 "*"。这可以解释为“有多个值”。
您可以通过添加应该触发 ATTR 函数的条件来构建基本的 ATTR 函数,例如:
IF ISNULL ([dimension]) THEN NULL
ELSEIF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension])
ELSE "*"
END
ATTR() 的使用案例
- 根据上面的示例,ATTR() 可指明辅助数据源中存在多个值
- 添加到“标记”卡上的工具提示的维度会自动包含在 ATTR() 中,因为工具提示上的维度必须进行聚合。如果使用了另一个聚合(比如 MIN()),则工具提示将显示单一值,可能会产生误导,使查看者误认为只有一个值。因此,ATTR() 将显示星号,指明视图或添加到工具提示中的值需要调整。请参见工具提示中会显示星号
- 与其他聚合一样,ATTR() 可用于将非聚合值更改为聚合值来解决计算中的聚合错误。请参见计算编辑器中的聚合错误消息
请注意,当返回数值数据的计算包含 ATTR() 时,如果 ATTR() 中有多个值,则计算将返回 NULL,而不是星号。
- ATTR() 可用作预防措施来防止数据更改
限制
- 无法使用包含 ATTR() 的计算字段来手动设置动态排序
- 包含 ATTR() 的计算可能会在总计中返回 NULL,尽管它在视图中的其他位置返回了预期值。请参见总计对于包括 ATTR() 的计算字段为空白
其他信息
讨论本文... 反馈论坛感谢您提供该文章是否有效的反馈。
打开新案例
继续搜索
知识库
社区
产品帮助
培训和教程
相关链接
Results 1-3 of 154