Функция Google Cloud DataPrep DATEDIF несовместима

У меня есть четыре столбца DateTime, все в длинном формате, например 2016-08-01T21:13:02Z. Они называются EnqDateTime, QuoteCreatedDateTime, BookingCreatedDateTime и RejAt.

Я хочу добавить столбцы на продолжительность (в днях) между EnquiryDateTime и тремя другими столбцами, т.е.

DATEDIF(EnqDateTime, QuoteCreatedDateTime, day)

Это работает для RejAt, но выдает ошибку для всех остальных столбцов:

Parameter "rhs" accepts only ["Datetime"]

Как показано на изображении ниже, все четыре столбца являются DateTime.

Настройка столбца, показывающая рабочий RejAt DATEDIFF

Может ли кто-нибудь увидеть какую-либо другую причину, по которой это может не работать для 2 из трех столбцов?


person Adam Hopkinson    schedule 13.03.2018    source источник


Ответы (1)


Как вы можете видеть на изображении ниже, я воспроизвел сценарий, подобный тому, который вы представили здесь, и у меня не было с ним проблем. Я создаю три столбца X2Y, используя ту же формулу, которой вы поделились:

DATEDIF(EnqDateTime, QuoteCreatedDateTime, day)
DATEDIF(EnqDateTime, BookingCreatedDateTime, day)
DATEDIF(EnqDateTime, RejAt, day)

введите здесь описание изображения

Я предполагаю, что по какой-то причине столбцы не имеют соответствующего формата Datetime. Возможно, вы можете попробовать применить некоторые преобразования к данным, чтобы убедиться, что данные, содержащиеся в столбцах, имеют соответствующий формат. Я рекомендую вам попробовать сделать следующее:

  • Очистите все пропущенные значения, нажав на столбец, а затем Clean > Missing > Fill with NULL. Отсутствующие значения могут помешать Dataprep правильно распознать тип данных.
  • Снова измените тип данных на Datetime, просто чтобы еще раз проверить, что нет ни одного поля, которое не имеет тип Datetime. Вы можете сделать это, нажав на столбец, а затем Change type > Date/Time.

Если эти методы не решают вашу проблему, возможно, вы можете попробовать работать с минимальным примером, имеющим всего несколько строк, чтобы вы могли сузить переменные, с которыми нужно работать. Затем вы можете обновить свой вопрос с дополнительной информацией.

Также было бы неплохо узнать, откуда у вас появляется ошибка Parameter "rhs" accepts only ["Datetime"]. Мне не ясно, что такое параметр rhs (правая сторона) в этом случае, поэтому, возможно, вы также можете предоставить более подробную информацию об этом.

person dsesto    schedule 20.03.2018