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

# Your first workload

> Create a workload that counts six orders and calculates total sales. Then run the same saved definition again and compare the two run identities.

TutorialApplies to: Unified engine deployments

Create a workload that counts six orders and calculates total sales. Then run the same saved definition again and compare the two run identities.

## Before you start

You need a running engine, workload access, and available compute. All input rows are included in the query. This example creates no tables and uses a Manual schedule.

## 1. Open the complete workload

Create a workload with a task named `summarize` using the definition below. Keep the workload name or choose your own.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "name": "Learn - order totals",
  "tasks": [
    {
      "name": "summarize",
      "sql": "WITH orders(id, category, region, amount) AS (\n  VALUES\n    (1, 'Books', 'North', 20),\n    (2, 'Games', 'South', 30),\n    (3, 'Games', 'North', 15),\n    (4, 'Books', 'North', 40),\n    (5, 'Garden', 'South', 25),\n    (6, 'Garden', 'North', 10)\n)\nSELECT COUNT(*) AS order_count, SUM(amount) AS sales\nFROM orders;",
      "settings": {
        "current_catalog": "default",
        "namespace": [
          "default"
        ],
        "time_zone": "UTC",
        "case_sensitive": false,
        "ansi_enabled": true
      }
    }
  ],
  "dependencies": [],
  "options": {
    "execution_target": "DuckDb"
  },
  "policy": "Manual"
}
```

In the compute step, choose an available execution target and compute profile. The example uses the native SQL execution target. The engine supplies instance defaults for options left unset.

## 2. Validate and save

Review the task and keep the schedule Manual. Validate the definition, then create the workload.

Validation checks the definition and SQL syntax. It does not execute the task or prove that worker allocation will succeed. Saving a Manual workload does not start a run.

## 3. Start a run

Select **Start run**. Open the created run and record its run ID and workload revision. Follow `summarize` until it reaches Succeeded.

The expected query result is:

| order\_count | sales |
| -: | -: |
| 6 | 140 |

Run and task pages show execution details. To check rows interactively, run the task's SQL in Workbench. The same SQL includes all its input rows. See [Results and table commits](https://docs.e6data.com/transformation/workloads/results-and-commits.md) for retained result access through the API.

## 4. Compare a second run

Start another run without editing the workload. Expect a different run ID, the same workload revision, and the same result. Both runs should show a successful `summarize` task.

Change the SQL to count only `region = 'North'`, save the revision, then start a new run. Expect four orders and sales of 85. The earlier runs keep their recorded invocation.

## Finish

Keep the workload for later lessons or delete it when the runs have finished. There are no tables or files to clean up.

Continue with [Build a multi-task workflow](https://docs.e6data.com/transformation/workloads/multi-task-workflow.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.