Power Query如何实现条件合并,按时间区间匹配另一表的day range字段
Power Query 按时间区间匹配对应字段操作步骤
操作前置条件
你已经完成两个表按ID字段的全外连接,以下操作均在该连接结果表中执行:
- 校验字段数据类型
- 选中
[Departure time]、[from]、[to]三个字段列,在顶部「主页」选项卡的「数据类型」下拉栏中,统一设置为「时间」或「日期/时间」类型,避免因文本格式无法正常比较大小。
- 新增自定义列完成匹配
- 点击顶部「添加列」选项卡,选择「自定义列」按钮
- 在弹出的配置窗口中:
- 新列名可自定义填写,比如
匹配day range - 自定义列公式输入如下内容:
if [Departure time] >= [from] and [Departure time] <= [to] then [day range] else null - 新列名可自定义填写,比如
- 点击「确定」后,新列会自动识别符合区间条件的行,返回对应
day range值,不符合条件的行该列为空值。
- 结果优化(可按需选择)
如果同一个ID对应第二个表的多个时间段,你只需要保留匹配成功的行,直接筛选匹配day range列,排除空值即可;如果需要保留第一个表的所有原始行,不需要匹配的行留空即可。
注意:如果你的表中列名和示例不一致,需要把公式里的列名替换为你自己表的实际列名,列名要和表中完全一致,包括空格、大小写。
内容的提问来源于stack exchange,提问作者fedone
相关产品推荐
相关产品推荐

