在 Power Query 中获取多个日期范围(和 if 语句)内的输出

Posted

技术标签:

【中文标题】在 Power Query 中获取多个日期范围(和 if 语句)内的输出【英文标题】:Get output within multiple date ranges (and if statements) in Power Query 【发布时间】:2020-01-22 20:29:26 【问题描述】:

已编辑以在 Power Query 中包含带有添加列功能的完整代码。 “Removed Columns1”是指上一步,并将自定义列命名为Price。

我正在尝试在 Power Query 中添加一个自定义列以输出特定日期范围的价格。尝试了以下 M 代码,但我得到了一个错误:

= Table.AddColumn(#"Removed Columns1", "Price", each
    if [Date]<#date(08,12,2019) then "11.50"
    else if [Date]>#date(08,11,2019) and [Date]<#date(10,14,2019) then "0.00"
    else if [Date]>#date(10,13,2019) and [Date]<#date(12,30,2019) then "11.50"
    else "2.50")

我返回的错误:

Expression.Error:日期操作失败,因为结果值超出了允许值的范围。

【问题讨论】:

应该想到包括错误。我已经更新了上面的帖子以包含错误消息。 看起来下面的建议解决了我的错误。感谢收看,不胜感激! 【参考方案1】:

使用#date(2019,08,11) 而不是#date(8/11/2019)

= Table.AddColumn(#"Removed Columns1", "Price", each
    if [Date]<#date(2019,8,12) then "11.50"
    else if [Date]>#date(2019,8,11) and [Date]<#date(2019,10,14) then "0.00"
    else if [Date]>#date(2019,10,13) and [Date]<#date(2019,12,30) then "11.50"
    else "2.50"
)

【讨论】:

谢谢。我试图按照建议复制格式,但我得到了同样的错误。我已经更新了我原来的问题,包括添加自定义列的完整代码和我得到的错误。 忽略我上面的评论。刚从头开始重新尝试,它奏效了。非常感谢!

以上是关于在 Power Query 中获取多个日期范围(和 if 语句)内的输出的主要内容,如果未能解决你的问题,请参考以下文章

Power Query 筛选器日期从今天减去 ?到今天的几天

具有 Power Query 日期的动态 SQL 查询

Power Query初识

在 Power Bi 中使用 Power Query M 的上一周日期

如何将指数平滑模型预测值获取到 POWER BI/POWER Query 数据集?

用于在多个 Excel 文件中列出 Power Query 源依赖项的脚本