当前问题我可能难以描述,但我会尽力而为。
当前,在我的工作簿中,我在产品级别遇到重复,因此我创建了一个计算字段来解决此问题。我想知道在过去的一年中没有对哪些产品进行过报价,因此答案应为 1 (未报价)和 0 (已报价),我通过if未引用%产品的声明,公式看起来像这样:
IF [% Not Quoted] > 0
then 1
else 0
end
我将其命名为未引用产品。对我来说效果很好,
但是现在我想要在供应商级别对未报价的产品进行计数或求和(?),这意味着未报价的产品需要按供应商名称进行分组。具体而言,我的目标是提供一个未按供应商名称引用的所有产品的表格,并且在产品级别没有重复项。我想做的是使用先前计算出的以下内容创建一个新的计算字段:
IF [Prod Not Quoted] = 1
then sum(1)
else 0
end
但是,后一种计算方法给了我所有被报价和未报价产品的总和,以及我要避免的重复产品。为什么如果[未引用产品] = 1则sum(1)否则0结尾不起作用?
有人在Tableau论坛上提出以下建议
SUM (IF [Prod Not Quoted] = 1 THEN 1 ELSE 0 END)
无论如何我得到的错误都不能汇总尚未汇总的内容。
正在解决我遇到的问题吗?
答案 0 :(得分:0)
如果在维度级别有重复项,则可以使用FIXED计算在维度级别仅选择一行。例如:
Public Sub Save(a, b)
Try
SqlCon.Open()
SqlCommand = New SqlCommand("INSERT INTO sample (name, date_surrendered) VALUES (
@name,@datesurrendered)", SqlCon)
SqlCommand.Parameters.Add("@name", SqlDbType.Text).Value = a
SqlCommand.Parameters.Add("@datesurrendered", SqlDbType.DateTime).Value = b
SqlAdapter = New SqlDataAdapter(SqlCommand)
SqlDataset = New DataSet
SqlAdapter.Fill(SqlDataset)
SqlCon.Close()
Catch ex As Exception
MsgBox(ex.Message)
SqlCon.Close()
End Try
End Sub
这是说“对于每个产品,最大报价是多少?”因此,如果您有重复项,它将仅返回一个值
现在我们正在解决重复项问题,可以将其包装在SUM中:
{FIXED [Product]: MAX(quoted)}
要回答有关为何总和不起作用的问题,这是因为您要进行总和。如果您仍然想采用提供的方法,则可以将其更改为:
SUM({FIXED [Product]: MAX(quoted)})
(我引用了聚合字段,但这将是您正在使用的度量)