2014-02-17 41 views
1

我的查詢返回兩行,它們是給定人的問題響應。第1行有'離開日期',第2行有'退回日期'。我需要比較日期,所以我想他們必須在公式中使用同一行。如何獲得同一行的日期?跨行比較日期

| Person ID | Response ID | Reason | Leaving Date | Returning Date | 
| 23  | 38   | bye  | 1/02/132  |    | 
| 23  | 41   | hello |    | 1/09/13  | 

回答

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 IDReason顯示,則可以將其刪除,敷兩個Date對象w^ith =Max();這會導致他們聚合到同一行。則比較容易:

=DaysBetween(Max([Leaving Date]);Max([Returning Date])) 

我所有的例子假設你與DaysBetween比較日期,但當然,任何其他的比較將是有效的在這裏。