Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

v-stephen-msft

在 Power Query 中计算两行之间的差值

背景介绍:

该表显示了员工、产品、时间段以及不同日期的产品数量。如果员工对应的产品缺少上午或下午的一行,则默认三天内对应时间段的产品数量为 0。本博客将介绍如何在 Power Query 中计算两行数据的差值。

示例数据:

vstephenmsft_0-1731648956367.png

期望结果:

vstephenmsft_1-1731648974156.png

解决方案 1:

1. 右键单击 “查询 ”面板,创建一个空白查询。

vstephenmsft_2-1731648988716.png

2. 在高级编辑器中输入以下查询语句。

vstephenmsft_3-1731649000986.png

vstephenmsft_4-1731649007583.png

vstephenmsft_5-1731649018655.png

3. 返回主表,在应用步骤中插入一个新步骤。然后在下划线处输入语句。

vstephenmsft_6-1731649044442.pngvstephenmsft_7-1731649050839.png

4. 展开表格中的列,无需勾选 “使用原始列名作为前缀”。

vstephenmsft_8-1731649074213.pngvstephenmsft_9-1731649089696.png

解决方案2:

1. 根据 “员工 ”列和 “产品 ”列将表分组,并在组中生成包含 “时间段 ”列和 “天”列的表。

vstephenmsft_10-1731649101649.jpeg

2. 转换表格列

vstephenmsft_11-1731649112794.pngvstephenmsft_12-1731649119567.png

3. 将第二行填入列名,并填入缺失的列。

vstephenmsft_13-1731649132089.pngvstephenmsft_14-1731649138150.png

4. 增加一列计算差值

vstephenmsft_15-1731649152488.png

5. 转换新的自定义列

vstephenmsft_16-1731649170093.pngvstephenmsft_17-1731649175945.png

6. 删除我们不需要的列,扩充我们需要的列。

vstephenmsft_18-1731649187157.png

7.最后一步是修改列名

vstephenmsft_19-1731649197573.jpeg

总结:

 

比较解决方案 1 和解决方案 2,解决方案 2 更为直观,因为除了计算差值外,它还补全了缺失的行列(例如,数据源中的一些员工对应的产品缺失了上午或下午的行列)。

 

作者:Stephen Tao

翻译:Tingting Zhang

审核:Kerry & Ula