Power Query中如何关联、分组日期行与对应数据行
Power Query中如何关联、分组日期行与对应数据行
我来帮你搞定这个Power Query里的日期关联问题!先看看你当前的数据结构,确实是典型的“日期标记行+后续数据行”的格式:
| Date | Values |
|---|---|
| 01.01.2024 | |
| values for day 01.01... | |
| 02.01.2024 | |
| values for 02.01... | |
| 05.01.2024 | |
| values for 05.01... | |
| 04.01.2024 | |
| values for 04.01... | |
| more values for 04.01... | |
| 03.01.2024 | |
| values for 03.01... |
从表格能看出来几个关键点:
- 带日期的行里,
Values列是空的; - 空日期的行,
Values列对应着上一个日期的数据; - 部分日期会对应多行数据(比如04.01.2024有两行Values)。
下面给你分步操作的方法,都是Power Query里的可视化操作,不用写复杂M代码也能搞定:
步骤1:向下填充日期,把空日期行关联到对应日期
选中Date列,切换到「转换」选项卡,找到「填充」按钮,选择「向下填充」。这一步会自动把每个空的Date单元格,填充为它上方最近的非空日期值。操作之后,所有有Values的行都会带上对应的日期了。
步骤2:过滤掉空Values的行
现在表格里还留着那些只有日期、Values为空的标记行,我们需要把它们删掉。选中Values列,点击「开始」选项卡的「删除行」,选择「删除空值」。这时候剩下的就是日期和对应Values一一对应的行,一个日期会对应多行Values(如果有多个数据的话)。
步骤3:(可选)按日期分组,聚合对应数据
如果你想把同一个日期的所有Values合并到一行里,可以用分组功能:
- 点击「转换」选项卡的「分组依据」;
- 在弹出的窗口里,设置「分组依据」为
Date列; - 新列名可以设为「所有Values」,然后选择操作:
- 如果想保留每个值的独立记录,选「所有行」;
- 如果想把文本类型的Values合并成一个字符串,选「连接」,然后设置分隔符(比如逗号、换行符都可以)。
这样处理完之后,就能得到你需要的“日期对应所有数据”的结构啦!
备注:内容来源于stack exchange,提问作者maliebina
相关产品推荐
相关产品推荐

