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

Tableau api Tableau-查找X时间内发生的记录,tableau-api,Tableau Api,我在Tableau方面有一些经验,因为我已经迁移到了一个没有太多经验的数据分析员的职位,并且我正在与Tableau打交道,如果可能在Tableau中执行计算的话 我的数据的基本情况如下(仅限于我们需要的两个字段) 案例#|技术派遣时间(PST)|全职(Y/N) 2017-0001 | MM/DD/YYYY 16:34:21 | 0 2017-0002 | MM/DD/YYYY 20:43:00 | 1 2017-0003 | MM/DD/YYYY 22:00:05 | 0 我们希望了解在X时间内

我在Tableau方面有一些经验,因为我已经迁移到了一个没有太多经验的数据分析员的职位,并且我正在与Tableau打交道,如果可能在Tableau中执行计算的话

我的数据的基本情况如下(仅限于我们需要的两个字段)

  • 案例#|技术派遣时间(PST)|全职(Y/N)
  • 2017-0001 | MM/DD/YYYY 16:34:21 | 0
  • 2017-0002 | MM/DD/YYYY 20:43:00 | 1
  • 2017-0003 | MM/DD/YYYY 22:00:05 | 0
  • 我们希望了解在X时间内进行调度的频率,以确定我们调度团队的效率。如果这些都发生在同一条记录上,一个基本的DATEDIFF和If函数将起作用,但我不知道如何声明,如果在180分钟内有另一个调度,则为1,否则为0

    这是我必须在Tableau之外,比如说SQL或PowerPivot中做的事情吗?或者这是Tableau也可以计算的函数

    感谢您在这件事上的时间和帮助

    Andy M.

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

    DateDiff("minute", [Tech Dispatch Time (PST)], Lookup(MIN([Tech Dispatch Time (PST)]), -1))
    
    不过,问题中的示例数据提出了一个问题。
    技术调度时间(PST)
    字段只有时间部分。要准确计算时差,您需要一个带有时间的日期。否则,如果这两个案例跨越午夜,您将以负时间结束


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

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

    现在您可以在viz中使用它

    你好,山姆!感谢您抽出时间回复。首先,这完全是我的错误,我的时间戳上也有日期,经过编辑显示了这一点。有两个小问题。首先-当它搜索下一条记录时,是否会找到下一行?我们在医疗派遣部门工作,我们的记录不是按顺序或派送日期,而是按时间接收/严重程度的顺序,因此下一份记录可能在4小时后派送,但更严重的记录在5份记录中出现,并在原始记录30分钟后派送。这个能抓住那个吗?此外,在设置之后,遇到一些表计算错误,导致所有空值,减去必须执行查找(Attr()),因为它表示在使用表函数时所有字段都必须是聚合。再次感谢Sam.Andy M.@A.McMaster,Alex Blakemore对我提供的函数进行了一些更正编辑。看看他的编辑是否有助于消除你的错误。嗨,何塞!感谢您抽出时间回复。我试过了,但似乎不起作用,我有几个问题。当我处理2016年的记录时,使用now()是否会产生问题?我的目标是查看历史数据和当前数据,看看在这180分钟内是否有另一个调度,如果有,用一个二进制标记来标记它,可以用来获取在这个时间范围内两个调度发生的频率,以及它们发生的时间。再次感谢您抽出时间!对不起,我没读到你的问题。我下班回来后再看一看work@MCMaster,不,这不会给2016年的数据带来任何问题。它只是将您的数据分类为180分钟的块(假设您将x设置为180)。NOW()只是一个引用。如果您只希望调度发生在过去180分钟内,则时间块“1”将包含该数据,您可以使用If条件对其进行二进制标记。
    //We need to add 0.5 to Roundup
    ROUND((DATEDIFF('minute',[Tech Dispatch Time],NOW())/[x])+0.5,0)