我有一个产品代码列表及其销售日期。我想只计算该产品的首次销售,然后按销售月份的第一笔销售额计算。因此,如果产品A在2月,3月和11月出售,则仅在2月份计算。
这是一张严重复制的表格
Product Code Sales Date WHAT I WANT
-------------------------------------------
A1234 01/02/2014 COUNT THIS
B3333 03/02/2014 COUNT THIS
C5555 06/03/2014 COUNT THIS
A1234 09/03/2014 DON’T COUNT
F567 15/04/2014 COUNT THIS
P000 25/05/2014 COUNT THIS
B3333 01/01/2015 DON’T COUNT
A1234 06/01/2015 DON’T COUNT
P000 19/01/2015 DON’T COUNT
B3333 26/01/2015 DON’T COUNT
K5678 20/02/2015 COUNT THIS
我希望我的最终结果可以是一个数月的图表,然后是产品销售的第一次计数。
这有意义吗?我尝试使用MIN,但是它会使AGG变为一切,这会阻止你将日期与日期进行比较。
更新:评论者指出在最初的问题中有两个问题。两者都会以LOD回答。
要回答这个问题:“我希望我的最终结果是一个数月的图表,然后是产品首次出售的数量。”
使用固定公式:
count(if
DATETRUNC('month',[Sales Date])={fixed [Product Code]:min(datetrunc('month',[Sales Date]))}
then
[Product Code]
END)
此公式将每个行级别的日期月份与同一产品代码的所有销售的最小日期进行比较。然后它会计算此条件为真的记录。
要回答这个问题:我想只计算该产品的首次销售,然后按销售月份计算第一笔销售额。
由于OP没有在原始表中提供销售#,我没有回答问题的总和部分。但是,这也是一个LOD,它看起来像:
sum(if
DATETRUNC('month',[Sales Date])={fixed [Product Code]:min(datetrunc('month',[Sales Date]))}
then
[Sales]
END)
这与上述非常相似,只是它总结了销售而不是计算产品。
这是一张图片(我为产品A1234添加了销售额和一个额外的销售额,因此您可以看到它是产品首月销售额的一部分。)
为深入研究LOD(详细程度)部分,{fixed [Product Code]:min(datetrunc('month',[Sales Date]))}
,Tableau允许您根据指定的范围进行计算。在这种情况下,公式读取为“返回每个产品代码的销售日期的最小日期月份”。您可以在Tableau的网站上阅读有关LOD's的更多信息或许多Google搜索结果。