---
order: 5
navTitle: 绘制加工流程图
indexTitle: 绘制加工流程图
---
# 绘制加工流程图

加工流程图描述了一个数据加工的内部过程，图中的每个节点可能代表一个表、加工转换或关联等，数据加工的过程其实就是不断的“绘制”这个加工流程图的过程，一个典型的数据加工流程图示例如下：

![加工流程图](./images/build-data-flow10.png)

绘制加工流程图主要分为以下几个步骤：

\[\[toc]]

## 拖入数据源到加工流程图区域{#drag-data}

新建数据加工后，通过拖拽的方式从左侧资源树下将模型、数据库表或文件拖入至右侧数据加工区域，即可进行数据加工操作，参考文档[新建数据加工](../create-dataflow.md)

![img](./images/build-data-flow1.gif)

在加工过程中，我们还能拖入其他的模型、数据库表或文件至加工界面，实现对目标表的替换，或者将被拖入表和目标表进行关联或联合。

### 替换加工节点{#replace}

将被拖入表拖拽至目标表**上方**即可用被拖入表替换目标表。

![替换](./images/build-data-flow3.gif)

### 添加表关联（JOIN）节点{#join}

将被拖入表拖拽至目标表**右方**可实现被拖入表和目标表的关联，该操作也可通过添加**关联**节点实现，参考文档[关联](../transform/join.md)

![关联](./images/build-data-flow4.gif)

### 添加联合（UNION）节点{#union}

将被拖入表拖拽至目标表**下方**可实现被拖入表和目标表的关联，该操作也可通过添加**联合**节点实现，参考文档[联合](../transform/union.md)

![联合](./images/build-data-flow5.gif)

## 使用下拉菜单添加加工组件{#menu}

添加表后，我们可以点击右侧的+号，在弹出的节点菜单中通过汇总、关联等各加工组件对其进行加工。各节点的功能和操作方式可参考文档[清洗和加工数据](../transform/README.md)

![添加节点](./images/build-data-flow2.png)

### 添加分支节点{#branch}

如果不同的加工流程里面有部分的加工逻辑和操作是相同的，为避免重复操作，我们可以通过添加分支来复用相同部分。参考文档[添加加工流程分支](./new-branch.md)

![添加分支](./images/build-data-flow6.gif)

## 从工具栏拖入节点{#toolbar-node}

除了可以在节点菜单中选择节点之外，我们还可以在**工具栏**中拖入我们所需的节点对数据进行加工处理。

![拖入组件](./images/build-data-flow8.gif)

## 从其它加工流程图复制节点{#copy}

当我们的加工流程会复用另外一个加工流程的某一部分时，我们可以通过`Ctrl+C`，`Ctrl+V`对所需的加工部分进行复制，从而提高工作效率。

![复制节点](./images/build-data-flow9.gif)

## 模型输出与数据提取{#data-output}

加工流程图最后必须有一个**模型输出**的节点，通过点击+号按钮，在下拉菜单中选择**模型输出**即可添加，**模型输出**的节点代表整个加工流程输出的结果，在**模型输出**的节点上可以进行更多模型相关的属性设置，可参考文档[输出加工结果](../data-output/README.md)

## 查看数据提取日志{#log}

在[模型属性](../../data-gov/model/model-settings.md#extract-data)下勾选**提取数据**后，保存加工流程，点击工具栏的**提取数据**按钮，数据提取完成后，可以点击每个加工节点查看当前节点的数据查询日志，以及在工具栏上点击**查看日志**按钮，查看最近一次的提取日志。

![](./images/cxsj.gif)
