0

我有四个 DateTime 列,都是长格式,例如2016-08-01T21:13:02Z. 它们被称为EnqDateTimeQuoteCreatedDateTime和。BookingCreatedDateTimeRejAt

我想在EnquiryDateTime其他三列之间添加持续时间(以天为单位)的列,即

DATEDIF(EnqDateTime, QuoteCreatedDateTime, day)

这适用于RejAt,但会为所有其他列引发错误:

Parameter "rhs" accepts only ["Datetime"]

根据下图,所有四列都是DateTime。

显示工作 RejAt DATEDIFF 的列设置

谁能看到这可能不适用于三列中的两列的任何其他原因?

4

1 回答 1

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(Right Hand Side) 参数是什么,所以也许您也可以提供更多详细信息。

于 2018-03-20T16:59:06.377 回答