2014-02-17 5 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 ID и Reason отображается, вы можете удалить их и обернуть два Дата объекты ш с =Max(); что приведет к их агрегации в одну строку. Тогда сравнение легко:

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

Всех мои примеры предполагают, что вы сравниваете даты с DaysBetween, но, конечно, любое другое сравнение было бы здесь справедливо.