如何获取Tableau中多个日期之间的平均天数

时间:2014-06-19 10:53:00

标签: average datediff tableau calculated-field

我正在使用Tableau,我有一个名为Sales_Order_Date的字段。我需要获得每个销售订单之间的平均天数。

实施例: 我有3个订单

  1. 2014年1月1日
  2. 20/01/2014
  3. 30/01/2014
  4. 订单1和订单2之间的天数= 19天 订单2和订单3之间的天数= 10天

    平均值为29/2 = 14.5天

    如何使用Tableau中的计算字段表示000日期?

    谢谢, 斯蒂芬。

1 个答案:

答案 0 :(得分:3)

window_avg(datediff('day',
                    lookup(min(Sales_Order_Date), -1),
                    min(Sales_Order_Date)))

假设您的计算字段设置为“使用”计算离散维度DAY(Sales_Order_Date)

从最里面的部分开始,然后解决:

  • lookup()函数计算表中上一个条目的日期
  • datediff()函数计算上一个日期与当前行中日期之间的差异
  • window_avg()计算记录日期之间所有间隔的平均值

在这个例子中,我将所有逻辑放在一起进行单个表计算。在开发表格计算时,通常最好将它们逐步建立为一系列调用其他(较低级别)计算的计算,并使用显示所有中间步骤的表格对其进行测试。并且只有在您对结果有信心后才隐藏中间步骤并切换到更直观的表示。

这个anwser的早期版本也使用了一个iif()调用来避免为第一行调用lookup(),因为在这种情况下没有前一行。这是多余的,因为大多数Tableau函数通过忽略它来优雅地处理空数据,这正是这里有意义的。