Power Query M 字符串到日期时间的转换

Power Query M string to datetime conversion

我正在尝试调用具有可为 null 的日期时间值的存储过程,但我 运行 对此感到困惑。您可以在下面看到我尝试过的所有组合以及相关错误:

FromDate = Excel.CurrentWorkbook(){[Name="FromDate"]}[Content]{0}[Column1],
FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& DateTime.From(FromDate)&"',",

Expression.Error: We cannot apply operator & to types Text and DateTime.
Details:
    Operator=&
    Left=@FromDate = '
    Right=15/03/2017 00:00:00

如果我按照说明按照建议删除 &,我会得到以下信息: Expression.SyntaxError:需要令牌逗号。

尝试将其作为字符串传递:

FromDate = Excel.CurrentWorkbook(){[Name="FromDate"]}[Content]{0}[Column1],
FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& Text.From(FromDate) &"',",

Message=将数据类型 varchar 转换为 datetime 时出错。

查询:

[Query="EXECUTE dbo.bsp_GetReport
"& UserQuery &"
"& FromDateQuery &"]

也尝试过使用 Cast 和 Convert all 都是徒劳的...

您可以使用具有所需格式的 DateTime.ToText,例如

FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& DateTime.ToText(DateTime.From(FromDate), "dd/MM/yyyy HH:mm:ss")&"',",