Tableau查询以同时使用DateDiff和DateTrun

时间:2019-05-30 10:42:06

标签: sql tableau

我是Tableau的新手,我需要根据给定的时间范围找到所有行集过滤器,然后对同一分钟的结果进行分组。我可以按照以下方法在Sql中破解此问题

select count(x)
from table t
where datediff(30, min, date)
group by datepart(min, date)

如何在Tableau中修复它?

2 个答案:

答案 0 :(得分:0)

我不确定您想要什么,但这会为您提供每分钟的记录数(对于日期在最近30分钟之内的记录):

select datepart(MI, date) , COUNT(*) as NumberOfRecordsInMinute
from table t
where date >= dateADD(MI, -30, getdate())
group by datepart(MI, date)
order by datepart(MI, date)

答案 1 :(得分:0)

由于标准SQL datediff的功能类似于datediff(datepart,startdate,enddate),并以指定的单位返回两个日期之间的差值,因此您的SQL试图在这里做什么并不明显。

如果这是您想要的,那么Tableau函数datediff的工作大致相同,而datediff('minute',start date,enddate)将返回两个日期时间之间的分钟数,并且由于结果是离散的,因此已经被分组了

然后您可以计算与每一分钟差异匹配的记录数。