上次修改日期: 17 Mar 2023
环境
Tableau Desktop解决方案
选项 1:添加 FIXED 语句
详细级别 (LOD) 函数 FIXED 可以转换为维度。根据原始计算,确切的解决方案会有所不同,但请记住,计算作为一个整体必须是非聚合的(FIXED、非聚合的字段、参数和常量文字值都是非聚合的)。请参见以下示例:示例 1
只能是度量:IF SUM([SALES]) < 100 THEN "low" ELSE "High" END
IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "low" ELSE "High" END
示例 2
只能是度量:AVG( IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "low" ELSE "High" END )
{FIXED [Category] : AVG( IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "low" ELSE "High" END ) }
示例 3
只能是度量:ATTR( [Category] ) + " value"
{ FIXED [Order ID] : MIN( [Category] ) } + " value"
注意:ATTR() 必须替换为 MIN(),因为 ATTR() 是一个表函数,不能在 FIXED 表达式中使用。如果视图中的一个分区(行、单元格、条形图、线点等)中有多个唯一的 [类别] 值,ATTR() 将返回 NULL,这有助于识别数据质量问题。另一方面,MIN() 将始终返回最小值,即字符串值的第一个字母顺序。只要 MIN( [类别]) 固定为一个维度或维度组合,并且总是只有一个类别值,就不会有问题。
选项 2:删除聚合
有时实际上并不需要聚合。例如,{ FIXED [Region] : SUM( [Sales] } 返回每个地区的总销售额,但如果数据源在每个地区只有一条记录,则 [Sales] 将返回相同的值。示例 1
只能是度量:IF SUM([SALES]) < 100 THEN "low" ELSE "High" END
IF [Sales] < 100 THEN "low" ELSE "High" END
选项 3:使用 Tableau 生成的数据桶字段
在某些情况下,可以用 Tableau 生成的数据桶字段替换原始计算。请参见依据连续度量创建数据桶,了解有关说明。
选项 4:在 Tableau Prep 中进行计算
Tableau Prep 的输出将始终是非聚合的,因此始终可以转换为维度。根据最初的计算,Tableau Prep 中所需的步骤会有所不同。通常,要在 Tableau Prep 中复制 SUM( [Sales]) 这样的表达式,您将需要使用聚合步骤。表格计算不能是非聚合的,因为它们不能放在详细级别函数内。某些表格计算可以在 Tableau Prep 中重新创建。例如,LOOKUP() 有时可以替换为移位自联接。请参见在 Tableau Prep 中查找表格计算
选项 5:联接数据而不是使用数据混合
辅助数据源中的字段必须聚合。这是数据混合的局限性,没有解决方法。考虑跨数据库联接或 Tableau Prep 中的联接。原因
如果计算字段中使用了聚合,则无法将度量转换为维度,原因是计算结果是动态的。
例如,当 [Region] 位于行功能区上时,以及当 [Category] 位于行功能区上时,SUM( [Sales] ) 将返回不同的结果。但是,表达式 {FIXED [Region] : SUM( [Sales] ) } 将始终是每个地区的总销售额。 添加 FIXED 语句告诉 Tableau 如何计算 SUM(),然后告诉 Tableau 如何根据每个记录所属地区的总销售额对其进行分组。
例如,当 [Region] 位于行功能区上时,以及当 [Category] 位于行功能区上时,SUM( [Sales] ) 将返回不同的结果。但是,表达式 {FIXED [Region] : SUM( [Sales] ) } 将始终是每个地区的总销售额。 添加 FIXED 语句告诉 Tableau 如何计算 SUM(),然后告诉 Tableau 如何根据每个记录所属地区的总销售额对其进行分组。
其他信息
Tableau 为什么要用维度和度量?
Tableau 利用非常不同的数据源之间共享的数据的公共属性,以便就如何显示数据做出明智的决定。
例如,您的数据源包含一个带有数值的字段,但该字段被命名为“ID”。 当您将“ID”添加到行功能区中,您会为每个 ID 获得一行,而不是获得将所有 ID 值加在一起的无意义的条形图。 Tableau 如何知道要这么做? 名为“ID”的字段是一种特殊情况,默认情况下被视为维度。维度包含用于对其他数据进行分组的数据,因此 Tableau 知道维度通常应该是标题而不是图表,即使维度包含数字数据。
维度和度量是数据管理中的概念,为 Tableau 提供了有关数据显示方式的线索。有关 Tableau 如何处理维度和度量的更多信息,请参阅维度和度量,蓝色和绿色
感谢您提供该文章是否有效的反馈。
打开新案例
继续搜索
知识库
社区
产品帮助
培训和教程
Trending Articles
Results 1-3 of 50