我的查询返回两行,这是给定人员的问题回复。第1行有“离开日期”,第2行有“返回日期”。我需要比较日期,所以我想它们必须在同一条线上才能用于公式。如何在同一行上获取日期?
| Person ID | Response ID | Reason | Leaving Date | Returning Date |
| 23 | 38 | bye | 1/02/132 | |
| 23 | 41 | hello | | 1/09/13 |
答案 0 :(得分:1)
有三种方式。
如果带有Returning Date
的行始终位于Leaving Date
行之后,则您可以使用Previous()
:
=DaysBetween(Previous([Leaving Date]);[Returning Date])
但是使用In
上下文运算符来获取适当的值可能会更好:
=If Not(IsNull([Returning Date]) Then
DaysBetween (
Max([Leaving Date]) In ([Person ID];[Response ID]);
[Returning Date])
)
最后,如果您实际上不需要显示Response ID
和Reason
,则可以删除它们并使用=Max()
包装两个Date对象;这会导致它们聚合到同一行。然后比较容易:
=DaysBetween(Max([Leaving Date]);Max([Returning Date]))
我的所有示例都假设您将日期与DaysBetween进行比较,但当然任何其他比较都是有效的。