You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query M:同表带过滤的上周评论查询需求

解决方案:Excel Power Query实现同Device ID的上周评论匹配

前置要求

确保你的MainData查询(基于加载区)包含以下核心字段:

  • DeviceID:设备唯一标识
  • Comment:手动添加的评论列
  • RecordDate:每条记录的日期(用来判定上周范围,若没有需先在Power Query或加载区添加)

步骤1:创建上周评论辅助查询

  1. 复制你的主查询(假设名为MainData),重命名为LastWeekComments
  2. 在LastWeekComments中添加自定义列,计算当前记录对应的上周时间范围:
    // 添加上周起始日(周一为周起始,可根据需求调整Day参数)
    AddedLastWeekStart = Table.AddColumn(LastWeekComments, "LastWeekStart", each Date.StartOfWeek(Date.AddDays([RecordDate], -7), Day.Monday)),
    // 添加上周结束日
    AddedLastWeekEnd = Table.AddColumn(AddedLastWeekStart, "LastWeekEnd", each Date.EndOfWeek(Date.AddDays([RecordDate], -7), Day.Monday))
    
  3. 移除无关列,仅保留DeviceID、Comment、LastWeekStart、LastWeekEnd

步骤2:主查询关联匹配上周评论

回到MainData查询,执行合并操作:

  1. 点击合并查询 → 合并查询作为新列
  2. 合并对象选择LastWeekComments
  3. 设置匹配条件:
    • DeviceID 等于 LastWeekComments[DeviceID]
    • RecordDate 大于等于 LastWeekComments[LastWeekStart]
    • RecordDate 小于等于 LastWeekComments[LastWeekEnd]
  4. 合并类型选择左外部(保证无匹配的行留空)
  5. 展开合并后的列,仅选择Comment字段,并重命名为LastWeekComment

步骤3:清理空值(可选)

如果需要把空值替换为空字符串,添加以下步骤:

CleanedLastWeekComments = Table.ReplaceValue(MainData, null, "", Replacer.ReplaceValue, {"LastWeekComment"})

后续宏计划的适配提示

  • 刷新查询的宏代码:ThisWorkbook.Queries("MainData").Refresh
  • 新增行后清除加载区数据时,确保Power Query的加载设置为“仅创建连接”或加载到指定表格,避免加载区清空导致查询报错

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:42:47