Tableau - 查找在X时间内发生的记录

时间:2017-07-26 17:03:06

标签: tableau

我有一些使用Tableau的经验,因为我已经迁移到数据分析师的位置而没有大量的经验,并且如果甚至可以在Tableau中执行计算,我还会遇到障碍。

我的数据的一般基础看起来像(将其限制为我们需要的两个字段)

  1. 案例#|技术派遣时间(PST)|全职(Y / N)
  2. 2017-0001 | MM / DD / YYYY 16:34:21 | 0
  3. 2017-0002 | MM / DD / YYYY 20:43:00 | 1
  4. 2017-0003 | MM / DD / YYYY 22:00:05 | 0
  5. 我们希望了解调度在X时间内发生的频率,以确定我们派遣团队的效率。如果这些记录发生在同一记录上,那么基本的DATEDIFF和IF函数就可以工作,但是如果说如果有另外一个发送,例如180分钟,1,那么我就不知道了。

    在SQL或PowerPivot中,这是否必须在Tableau之外进行?或者这是Tableau可以计算的函数吗?

    感谢您抽出时间和协助解决此事,

    Andy M。

2 个答案:

答案 0 :(得分:2)

创建一个参数来定义你的' x', 然后用下面的公式创建一个计算字段(我称之为时间块)

//We need to add 0.5 to Roundup
ROUND((DATEDIFF('minute',[Tech Dispatch Time],NOW())/[x])+0.5,0)

现在你可以在你的viz中使用它了 enter image description here enter image description here

答案 1 :(得分:1)

使用LOOKUP()功能。它允许您查找其他行'相对于当前行的值。

DateDiff("minute", [Tech Dispatch Time (PST)], Lookup(MIN([Tech Dispatch Time (PST)]), -1))

您的问题中的示例数据虽然存在问题。 Tech Dispatch Time (PST)字段仅包含时间部分。要准确计算时差,您需要一个带时间的日期。否则,如果两个案例跨越午夜,您将以负面时间结束。

由于这是一个表计算,您还必须通过编辑表计算来设置分区和寻址维度以及排序顺序,以获得所需的效果。