具有类别的画面中的计算字段
calculated field in tableau with categories
我有 3 个类别的维度
以及总销售额的衡量标准
我想要类别中的一项与总数的比率
例如-
我有一些水果(苹果、橙子、草莓)
我想要苹果销售额除以总销售额的比率
语法有问题
sum(([sales(fruit)='Apple']))/sum([sales])
您可以使用条件聚合来做到这一点。基本上,您只需在聚合函数中嵌入一个 if
语句,如下所示:
SUM(IF [fruit] = 'Apple' THEN [sales] END) / SUM([sales])
分子SUM
忽略所有非苹果,而分母包括所有水果
user3581800,非常相似的解决方案,但稍微更强大(也更复杂)是使用所谓的细节级别(LOD) 表达式。
主要好处是它们允许您在需要时使用 "overwrite" 过滤器(例如,尝试为“橙色”添加 exclude 过滤器)。让我们创建一个新计算的字段 Total Sales:
{ FIXED : SUM([Sales]) }
无论如何这都会产生总销售额,然后您可以按照 Nicarus 在他的回答中建议的那样创建一个计算字段,尽管这个字段应该更灵活:
SUM( IIF([Fruit] = "Apple", [Sales], 0) ) / SUM( [Total Sales] )
详细了解 LOD Expressions on Tableau blog 的力量。
我有 3 个类别的维度 以及总销售额的衡量标准 我想要类别中的一项与总数的比率
例如- 我有一些水果(苹果、橙子、草莓) 我想要苹果销售额除以总销售额的比率
语法有问题
sum(([sales(fruit)='Apple']))/sum([sales])
您可以使用条件聚合来做到这一点。基本上,您只需在聚合函数中嵌入一个 if
语句,如下所示:
SUM(IF [fruit] = 'Apple' THEN [sales] END) / SUM([sales])
分子SUM
忽略所有非苹果,而分母包括所有水果
user3581800,非常相似的解决方案,但稍微更强大(也更复杂)是使用所谓的细节级别(LOD) 表达式。
主要好处是它们允许您在需要时使用 "overwrite" 过滤器(例如,尝试为“橙色”添加 exclude 过滤器)。让我们创建一个新计算的字段 Total Sales:
{ FIXED : SUM([Sales]) }
无论如何这都会产生总销售额,然后您可以按照 Nicarus 在他的回答中建议的那样创建一个计算字段,尽管这个字段应该更灵活:
SUM( IIF([Fruit] = "Apple", [Sales], 0) ) / SUM( [Total Sales] )
详细了解 LOD Expressions on Tableau blog 的力量。