sql - Excel/DAX/Power Query : How to filter table to find records that fill within a 24 hour window from two dates

标签 sql excel date dax powerquery

让我的头被这个难住了。甚至不确定它是否可能。

我有 2 个日期列:“Date_of_Call”和“Error_Open_Time”

我想过滤此报告以仅显示 Error_Open_Time 位于 Date_of_Call 时间的 24 小时窗口内的记录。

例子:

如果 Error_Open_Time = '11/6/2016 1:17:00 PM' 和 Date_of_Call = '11/6/2016 12:00:00 AM',则此记录应显示在过滤器中,因为 Error_Open_Time 落在 24 小时窗口内.

如果 Error_Open_Time = '12/11/2016 12:35:00 AM' 和 Date_of_Call = '12/10/2016 12:00:00 AM',则此记录不应出现在过滤器中,因为 Error_Open_Time 不属于24 小时窗口。

此外,如果 Error_Open_Time 日期早于 Date_of_Call 日期,则应将其过滤掉,因为它不是必需的。

我希望这是有道理的。感谢你的帮助!

最佳答案

您可以在 Power Query 中将日期相减,这将为您提供持续时间。如果 Error_Open_TimeDate_of_Call列是 DateDateTime类型,那么这应该可以解决问题:

  • 使用公式 [Error_Open_Time] - [Date_of_Call] 添加自定义列
  • 将自定义列过滤为介于 24 小时期间之间。可以做“大于等于”-1.00:00:00和“小于或等于”1.00:00:00 (1天之间)。
  • 删除自定义列

  • 步骤应如下所示:
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each [Error_Open_Time] - [Date_of_Call]), #"Filtered Rows" = Table.SelectRows(#"Added Custom", each [Custom] >= #duration(-1, 0, 0, 0) and [Custom] <= #duration(1, 0, 0, 0)), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom"})

    关于sql - Excel/DAX/Power Query : How to filter table to find records that fill within a 24 hour window from two dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494518/

    相关文章:

    MySQL 使用 = 无法正确匹配电子邮件地址,但可以使用 LIKE

    MySQL 存在使查询花费太长时间

    vba - 使用 VBA 将动态范围复制并粘贴到 Excel 中的新工作表

    javascript - 使用 Moment 为 HighCharts 输出 Date.UTC() 对象?

    c# - C# (.NET) 的 strtotime

    php - 日期查询及显示

    php - 如何在 laravel 的查询生成器中使用命名绑定(bind)?

    sql - 条件 NOT NULL case SQL

    excel - VBA excel - 从 excel 调用函数

    vba - VBA对象变量或带有 block 变量的未设置错误-Web抓取