2017-07-31 75 views
1

我目前正在尝试创建一个过滤器,该过滤器列出了我在最后一个工作日记录了我的工作的所有工单。不幸的是我不“T有任何工具,我不能够让他们安装如何创建一个JQL过滤器来列出上个工作日的所有工作单?

目前我使用的过滤器的最后一个星期的工作日志:

worklogAuthor = currentUser() AND worklogDate >= startOfDay(-1w) 

这是相当简单的扩展该过滤器忽略当前的一天,并与startOfDay(-1d)到replcae startOfDay(-1w),但这不会把周末的考虑。而且,我不检查谁登录的日期的工作。

你将如何解决这个问题?

+0

你尝试'startOfWeek()'方法? –

+0

像'startOfWeek(-1)' –

+0

我没有得到什么解决。你能否详细说明这个想法? –

回答

0

大厦黎平黄的问题,这似乎为我工作,以赶上今天还是最后一个工作日,所以类似的提法可能会为你做的问题更新:

worklogDate >= startOfDay(-1d) or (worklogDate >= startOfWeek(-2d) and worklogDate >= startOfDay(-3d)) 

(假设一个星期天为一周的开始和周一至周五工作天)

编辑:

worklogDate >= startOfDay(-1d) or (worklogDate <= startOfWeek(1d) and worklogDate >= startOfDay(-3d)) 

再次编辑:根据意见修正Bombproofing基于评论:

代表星期日周开始(北美,澳大利亚):

(worklogDate >= startOfDay(-1d) or (worklogDate >= startOfWeek(-2d) and worklogDate <= startOfWeek(1d) and worklogDate >= startOfDay(-3d))) and worklogDate < startOfDay() 

对于本周星期一开始(欧洲):

(worklogDate >= startOfDay(-1d) OR worklogDate >= startOfWeek(-3d) AND worklogDate <= startOfWeek() AND worklogDate >= startOfDay(-3d)) AND worklogDate < startOfDay() 
+0

该表达式可以简化为'updatedDate> = startOfDay(-3d)'。它返回最近3天的所有日志。星期五它将返回自周二以来更新的所有日志。这不是我想要的。 –

+0

这种简化与我的查询不同;在星期二到星期五尝试一下,看看! –

+0

我今天(星期五)试过了,它的确如我所说的那样。问题在于'OR'串联在逻辑上是一个。这意味着它产生的所有结果都是'AND'加上那些只满足一个谓词的结果。此外'updatedDate> = startOfDay(-3d)'将包括'updatedDate> = startOfWeek(-2d)'和'updatedDate> = startOfWeek(-1d)'。因此,我之前的说法表明它可以简化为'updatedDate> = startOfWeek(-3d)'。 –