我有四个DateTime列,所有列都是长格式,例如2016-08-01T21:13:02Z
。它们被称为EnqDateTime
,QuoteCreatedDateTime
,BookingCreatedDateTime
和RejAt
。
我想在EnquiryDateTime
和其他三列之间添加持续时间(以天为单位)的列,即
DATEDIF(EnqDateTime, QuoteCreatedDateTime, day)
这适用于RejAt
,但会为所有其他列引发错误:
Parameter "rhs" accepts only ["Datetime"]
根据下图,所有四列都是 DateTime。
任何人都可以看到任何其他原因这可能不适用于三列中的两列吗?
答案 0 :(得分:0)
正如您在下图中看到的那样,我再现了一个场景,例如您在这里展示的场景,我没有遇到任何问题。我使用您共享的相同公式创建了三列X2Y
:
DATEDIF(EnqDateTime, QuoteCreatedDateTime, day)
DATEDIF(EnqDateTime, BookingCreatedDateTime, day)
DATEDIF(EnqDateTime, RejAt, day)
我的猜测是,由于某种原因,列没有适当的Datetime
格式。也许您可以尝试对数据应用一些转换,以确保列中包含的数据具有适当的格式。我建议您尝试执行以下操作:
Clean > Missing > Fill with NULL
。缺少值可能会阻止Dataprep正确识别数据类型。Datetime
类型。您可以点击列,然后点击Change type > Date/Time
。如果这些方法无法解决您的问题,也许您可以尝试使用最少的示例,只有几行,以便您可以缩小要使用的变量。然后,您可以使用更多信息更新您的问题。
知道你在哪里得到错误Parameter "rhs" accepts only ["Datetime"]
也很好。在这种情况下,我不清楚rhs
(右手侧)参数是什么,所以也许你也可以提供更多细节。