在Tableau中按月计算一年中的唯一记录

问题描述 投票:0回答:1

我有一个产品代码列表及其销售日期。我想只计算该产品的首次销售,然后按销售月份的第一笔销售额计算。因此,如果产品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变为一切,这会阻止你将日期与日期进行比较。

tableau
1个回答
0
投票

更新:评论者指出在最初的问题中有两个问题。两者都会以LOD回答。

要回答这个问题:“我希望我的最终结果是一个数月的图表,然后是产品首次出售的数量。”

使用固定公式:

count(if 
  DATETRUNC('month',[Sales Date])={fixed [Product Code]:min(datetrunc('month',[Sales Date]))}
then
  [Product Code]
END)

此公式将每个行级别的日期月份与同一产品代码的所有销售的最小日期进行比较。然后它会计算此条件为真的记录。

Count by month

要回答这个问题:我想只计算该产品的首次销售,然后按销售月份计算第一笔销售额。

由于OP没有在原始表中提供销售#,我没有回答问题的总和部分。但是,这也是一个LOD,它看起来像:

sum(if 
  DATETRUNC('month',[Sales Date])={fixed [Product Code]:min(datetrunc('month',[Sales Date]))}
then 
  [Sales]
END)

这与上述非常相似,只是它总结了销售而不是计算产品。

这是一张图片(我为产品A1234添加了销售额和一个额外的销售额,因此您可以看到它是产品首月销售额的一部分。)

Sum by month

为深入研究LOD(详细程度)部分,{fixed [Product Code]:min(datetrunc('month',[Sales Date]))},Tableau允许您根据指定的范围进行计算。在这种情况下,公式读取为“返回每个产品代码的销售日期的最小日期月份”。您可以在Tableau的网站上阅读有关LOD's的更多信息或许多Google搜索结果。

© www.soinside.com 2019 - 2024. All rights reserved.