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

时间:2015-03-27 15:54:22

标签: tableau

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

1 个答案:

答案 0 :(得分: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的网站或许多Google搜索结果中了解有关LOD's的更多信息。

相关问题