如何将一个计算字段与另一个计算字段相加?



当前的问题我可能有点难以描述,但我会尽力而为。

目前,在我的工作簿中,我在产品级别遇到重复项,因此我创建了一个计算字段来解决此问题。我想知道过去一年哪些产品没有被引用,所以答案应该是1表示未引用,0 表示引用,我通过对% 产品未引用执行 if 语句来解决这个问题,公式如下所示:

IF [% Not Quoted] > 0 
then 1 
else 0 
end 

我将其命名为"未引用的产品"。这对我来说效果很好,

但是现在我想对未在供应商级别报价的产品进行计数或总和(?(,这意味着我的未报价产品需要按供应商名称分组。具体来说,我的目标是提供一个表格,列出所有未按供应商名称报价的产品,在产品级别没有重复。我尝试做的是使用之前计算的一个新的计算字段,我计算如下:

IF [Prod Not Quoted] = 1 
then sum(1) 
else 0 
end

然而,后一种计算给了我所有报价和未报价产品的总和,以及我试图避免的重复。为什么IF [prod 未引用] = 1 那么 sum(1( 否则 0 结束不起作用?

有人在 Tableau 论坛上提出以下建议

SUM (IF [Prod Not Quoted] = 1 THEN 1 ELSE 0 END) 

但是我得到的错误无法汇总尚未聚合的内容。

对于我遇到的问题,有什么解决方法吗?

如果在维度级别存在重复项,则可以使用 FIXED 计算在维度级别仅选择一行。例如:

{FIXED [Product]: MAX(quoted)}

这样做的意思是说"对于每个产品,最大报价值是多少?因此,如果您有重复项,它将只返回一个值

现在我们正在解决重复问题,我们可以将其包装在 SUM 中:

SUM({FIXED [Product]: MAX(quoted)})

要回答你关于为什么总和不起作用的问题,这是因为你试图做一个总和。如果您仍然想采用提供给您的方法,则可以将其更改为:

IF [Prod Not Quoted] = 1 
then {FIXED [Product]: MAX(quoted)}  
end

(我引用了聚合字段,但它将是你正在使用的度量值(

最新更新