Excel Power Query:工序工时数据的整合与提取

我们经常面临着要从数据源中提取某部分基础数据的问题。今天介绍从我们的生产记录数据源中提取各工序的标准工时。

因为工厂的ERP系统没有工序管理/工艺管理,所以该系统中没有产品工序的信息,包括工序标准工时。工厂也没有形成一个独立的工序标准工时数据源,而是将其记录到每日生产过程记录的事实表中。因此,我们需要从生产过程记录事实表中将工序工时信息提取出来,方便以后对工时的使用需求。

操作步骤如下:

1. 引用查询

首先,在Power Query编辑器左边的查询导航窗格中,右键单击查询“Worksheet筛选”,选择“引用”,这样就建立了一个基于第一个查询“Worksheet筛选”的新查询。我们将新查询重命名为“工序工时”。

图1-引用查询

2. 提取前四行数据

点击Data列的Table,在下方窗口发现,数据源的前四行包含了工序工时相关信息。因此,我们需要提取前四行的数据。

数据源包含很多个工作表,即Table,那么,如何提取每个每个Table前几行的数据呢?我们可以通过插入一列只保留前四行的的新Table来实现。

操作步骤:添加列-自定义列-在弹出对话框的“自定义列公式”下面输入以下公式并确定。

=Table.FirstN([Data],4)

图2-提取工作表前四行数据
图3-添加提取工作表前四行数据的自定义列

3. 删除不需要的列

图3下方显示了提取的前四行数据,但是我们看到前六列数据是不需要的,因此需要将其删除。

操作步骤:添加列-自定义列-在弹出对话框的“自定义列公式”下面输入以下公式并确定。

=Table.RemoveColumns([自定义],{"Column1","Column2","Column3","Column4","Column5","Column6"})

图4-删除工作表前几列数据
图5-添加删除工作表前几列数据的自定义列

4. 转置

接下来我们需要将上方处理后的工作表进行行列转置。

操作步骤:添加列-自定义列-在弹出对话框的“自定义列公式”下面输入以下公式并确定。

=Table.Transpose([自定义.1])

图6-工作表转置
图7-添加工作表转置列

5. 将第一行用作标题

因为新Table的第一行是标题,因此我们将其提升为查询中被认可的标题。

操作步骤:添加列-自定义列-在弹出对话框的“自定义列公式”下面输入以下公式并确定。

=Table.PromoteHeaders([自定义.2])

图8-将第一行用作标题
图9-添加提升标题列

6. 展开数据

至此,数据的前期处理就差不多了。我们在展开需要的数据之前,先把不需要的数据列删除。

选中第1列和最后一列“自定义.3”,点击右键,在弹出的菜单中选择“删除其他列”。

点击“自定义.3”标题行右边的图标,在弹出的对话框中,取消勾选“使用原始列名作为前缀”,确定。这样各个数据表的工序工时数据就被合并在一起了。

图10-展开数据

7. 重命名

双击展开后的数据最后一列的标题,重命名为“工序号”。

图11-重命名

8. 填充

由于第2列“车缝组件”有很多空行,空行的内容应该跟上方的内容一致,所以我们对第2列进行向下填充。

操作步骤:选择第2列,依次点击-转换-填充-向下

图12-向下填充
图13-填充完成

哈哈,大功告成,所有工序及工时的信息就被提取出来了。点击开始-关闭并上载的小三角-关闭并上载至,在弹出的对话框中选择“表”、“新工作表”,取消勾选“将此数据添加到数据模型”,即可上载回Excel工作表啦!

图14-上载
图15-上载到表

你可能感兴趣的:(Excel Power Query:工序工时数据的整合与提取)