> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Data Preparation

> Learn how to create a data preparation on the YiDA low-code platform. Use the no-code ETL solution to process data from various sources, including YiDA apps, external enterprise databases, and official DingTalk data sources, to meet data analysis and decision-making needs.

**Data preparation** is a key feature of the YiDA low-code platform. It helps enterprise users clean, integrate, and transform raw data before running data analysis or building apps. This article explains how to create a data preparation.

Data preparation uses a no-code ETL (Extraction, Transformation, Loading) solution to process data from YiDA apps, external enterprise databases, file-based data, and official DingTalk data sources (including Roster, OA, Smart HR, Attendance, and more). By building data processing workflows, it consolidates scattered data into standardized datasets that support visual analysis and data-driven decisions.

## Procedure

1. Sign in to the YiDA workbench and open the app settings page.
2. Click **Data Factory** > **Data Preparation**.
3. Click **Create Data Preparation** to open the data preparation designer.
4. Drag an **Input** node onto the canvas and configure the **input source**.

Set the input data to a **dataset** or a **Data Source**.

| **Data Source**                             | **Fields (not updated in real time; refer to the actual data preparation display)**                                                                                                        |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **General metrics**                         | Number of Contacts, number of log submitters, log submission rate, total DINGs sent, total group chats, number of expense reports, number of documents created in the last 1 day, and more |
| **Roster**                                  | Employee name, job title, Employee ID, department name, probation type, hire date, regularization date, and more                                                                           |
| **OA Approval**                             | Form custom business fields, Submitter, submission time, approver, approval status, approval completion time, approval records, and more                                                   |
| **Smart HR**                                | Hire date, position level, regularization date, regularization level, resignation date, resignation reason, and more                                                                       |
| **Attendance (within the last six months)** | User name, department, check-in time, overtime flag, expected attendance flag, attendance group name, field work flag, missed check-in flag, and more                                      |

5. At the bottom of the page, configure the field types.

Supported data types include string, number, float, date, and array.

<Steps>
  <Step title="Drag a data processing node onto the canvas and connect it to the input node">
    <Note>
      For details about configuring data processing nodes, see [Node overview](/yida/app-admin/yd6z0n).
    </Note>
  </Step>

  <Step title="Drag an Output node onto the canvas and connect it to the preceding data processing node" />
</Steps>

8. After configuration is complete, click **Test** in the upper-right corner.
9. Once the test passes, click **Publish** to finish the configuration.
