比较行的日期

时间:2014-02-17 00:47:24

标签: sap business-objects

我的查询返回两行,这是给定人员的问题回复。第1行有“离开日期”,第2行有“返回日期”。我需要比较日期,所以我想它们必须在同一条线上才能用于公式。如何在同一行上获取日期?

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

1 个答案:

答案 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 IDReason,则可以删除它们并使用=Max()包装两个Date对象;这会导致它们聚合到同一行。然后比较容易:

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

我的所有示例都假设您将日期与DaysBetween进行比较,但当然任何其他比较都是有效的。