Tableau未来和当前参考

时间:2014-08-20 15:17:39

标签: tableau

我正在努力解决这个问题。

我有一张CustomerID和CallDates表。我想衡量是否有重复通话'在一段时间内(最多30天)。

我计划创建一个名为RepeatTime的参数,该参数的范围是0到30天,因此用户可以滑动刻度以查看总重复次数的数量/百分比。

在Excel中,我有这个工作。我按顺序对CustomerID进行排序,然后将CallDate从最早到最晚排序。然后我有这样的公式:

= IF(AND(CurrentCustomerID = FutureCustomerID,FutureCallDate - CurrentCallDate< = RepeatTime),1,0)

CurrentCustomerID =当前行,FutureCustomerID =下一行(因此它表示客户ID是否相同)。 FutureCallDate =以下行,CurrentCallDate =当前行。它从第一个呼叫时间中减去未来的呼叫时间,以测量其间的时间。

目标是能够动态地查看在4小时或1天或5天内出于特定原因呼叫的客户数量等等。一直到30天(这是我们的实际指标)但是很高兴看到在更短的时间内重复的呼叫,以便我们进行调查)。

1 个答案:

答案 0 :(得分:0)

我遇到了类似问题,请点击此处查看详细版本Array calculation in Tableau, maxif routine

在你的情况下,这与我的基本相同,所以你可以应用这个解决方案,但我发现理解我即将给予的那个更容易,我会这样做:

1)创建一个名为RepeatTime的计算字段:

DATEDIFF('day',MAX(CallDates),LOOKUP(MAX(CallDates),-1))

这将计算自上次调用当前以来经过的天数。您可以添加一个IFNULL来获取第一个条目的Null值。

2)将CustomersID,CallDates和RepeatTime拖到工作表上(可以在标记选项卡上,不需要在行或列上)。

3)配置RepeatTIme的表计算,使用Advanced ...计算,分区CustomersID,Adressing CallDates 还按字段调用日期,最大值,升序排序。 这将保证表格计算正常工作

4)现在你有了一个可以用来满足你需要的基础。您可以将其导出到csv或mdb并连接到它。

实际上,最好的方法是在数据库外的Tableau外部计算RepeatTime字段,以便在连接到它时已经存在。但这是一种使用Tableau为您进行计算的方法。

不幸的是,没有直接的方法可以直接使用您的数据库。