> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.sigmacomputing.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.sigmacomputing.com/_mcp/server.

# Example representation: Workbook with a union (Beta)

> Example Sigma code representation of a workbook with a union.

This documentation describes one or more public beta features that are in development. Beta features are subject to quick, iterative changes; therefore the current user experience in the Sigma service can differ from the information provided in this page.

This page should not be considered official published documentation until Sigma removes this notice and the beta flag on the corresponding feature(s) in the Sigma service. For the full beta feature disclaimer, see [Beta features](/docs/sigma-product-releases#beta-features).

This is an example representation of a workbook, retrieved using the [Get a workbook](/reference/get-workbook) endpoint with the query parameter `includeContents=true`. Representations like this one can be used to create a workbook from code using the [Create a workbook](/reference/create-workbook) endpoint. Each page in this example library includes the code representation of the workbook and step-by-step instructions to create it in the Sigma UI.

Consult this example and others in the [Workbook representation example library](/docs/workbook-representation-example-library) to:

* Troubleshoot the formatting of a particular feature in code representation
* Relate a feature from the Sigma UI to its representation in code
* Provide context to AI tools used to create workbooks from code

This example representation cannot be used as-is. All identifying details, such as IDs, names, and URLs, have been replaced with randomized ID values or generic substitutions. The format of these contents, like the length of ID values, is preserved for demonstrative purposes. However, this representation cannot be directly used without modification to the base URL, connection details, and more. For more information, see [Create and manage workbooks from code](/docs/manage-workbooks-as-code).

## System and user requirements

To complete the steps in this example, you must meet the user requirements listed below for creating the workbook in the UI and creating it from code.

The ability to create this workbook in the Sigma UI requires the following:

* You must be assigned an [account type](/docs/account-type-and-license-overview) with the **Create, edit, and publish workbooks** permission enabled.
* You must have access to a connection to a data platform.

The ability to create a workbook from code requires the following:

* You must be assigned an [account type](/docs/account-type-and-license-overview) with the **Create, edit, and publish workbooks** permission enabled.
* You must have developer credentials for the Sigma API. For more information, see [Get started with the Sigma REST API](/reference/get-started-sigma-api).

This example uses a table from the [Sigma Sample Connection](/docs/sigmas-sample-connection). Your organization might have disabled access to the Sigma sample connection. If so, you can contact an admin to enable it, or use a table from another connection to follow along with this example.

## Create the example workbook in the Sigma UI

This example shows a workbook with a table sourced from a union that stacks loan applications together with funded loans.

To create this workbook in the Sigma UI:

1. Go to the **Home** page.

2. Select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/button-add.svg) **Create new** > **Workbook**.

   A new workbook opens.

3. From the **Add element** bar, select **Data** > **Table** > **Union**.

4. In the **Select source** modal, search for the table `OAKMARK_BANK_LOAN_APPLICATIONS` in the `EXAMPLES.DATACAMP` schema, then choose **Select**.

5. In **Sources**, select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/add.svg) **Add source**.

6. In the **Select source** modal, select the `OAKMARK_BANK_LOANS` table in the same schema, then choose **Select**.

7. In **Sources**, under the table names, match the following columns across the two tables:

   | Output column               | Loan applications             | Loans            |
   | :-------------------------- | :---------------------------- | :--------------- |
   | Application Id              | *Application Id*              | *Application Id* |
   | Customer Id                 | *Customer Id*                 | *Customer Id*    |
   | Application Date            | *Application Date*            | *Start date*     |
   | Loan Type                   | *Loan Type*                   | *Loan Type*      |
   | Amount                      | *Loan Amount*                 | *Principal*      |
   | Term Years                  | *Requested Term Years*        | *Term Years*     |
   | Credit Score at Application | *Credit Score at Application* | *No match*       |
   | Status                      | *Status*                      | *Status*         |

8. Select **Done**.

9. In the document header, select **Save as**.

10. Enter a name for the workbook, such as `union`.

11. Select **Save**.

## Get a code representation of this workbook

To get a representation of this workbook, follow the steps in [Get the code representation of a workbook](/docs/get-the-code-representation-of-a-workbook).

The code representation of this workbook appears like the following:

#### YAML representation

```yaml
workbookId: c8fc162f-d561-4ed8-b9f6-c04632c78031
workbookUrlId: qmTEGGrmmKnL0MIT2nBtkR
createdBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
updatedBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
createdAt: '2026-09-01T14:57:59.189Z'
updatedAt: '2026-09-08T17:17:31.310Z'
name: union
url: https://aws-api.sigmacomputing.com/org-name/workbook/qmTEGGrmmKnL0MIT2nBtkR
path: My Documents/<folder-name>
latestVersion: 5
ownerId: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
isArchived: false
contents:
  schemaVersion: 1
  elements:
    - id: BWpDAJYAj1
      kind: table
      source:
        kind: union
        sources:
          - connectionId: b2af3691-12a0-48fa-a91d-fbe2e1b31627
            kind: warehouse-table
            path:
              - EXAMPLES
              - DATACAMP
              - OAKMARK_BANK_LOAN_APPLICATIONS
          - connectionId: b2af3691-12a0-48fa-a91d-fbe2e1b31627
            kind: warehouse-table
            path:
              - EXAMPLES
              - DATACAMP
              - OAKMARK_BANK_LOANS
        matches:
          - outputColumnName: Application Id
            sourceColumns:
              - '[Application Id]'
              - '[Application Id]'
          - outputColumnName: Customer Id
            sourceColumns:
              - '[Customer Id]'
              - '[Customer Id]'
          - outputColumnName: Application Date
            sourceColumns:
              - '[Application Date]'
              - '[Start Date]'
          - outputColumnName: Loan Type
            sourceColumns:
              - '[Loan Type]'
              - '[Loan Type]'
          - outputColumnName: Loan Amount
            sourceColumns:
              - '[Loan Amount]'
              - '[Principal]'
          - outputColumnName: Requested Term Years
            sourceColumns:
              - '[Requested Term Years]'
              - '[Term Years]'
          - outputColumnName: Credit Score at Application
            sourceColumns:
              - '[Credit Score at Application]'
              - null
          - outputColumnName: Status
            sourceColumns:
              - '[Status]'
              - '[Status]'
      columns:
        - id: ntQlDMco00
          formula: '[Union of 2 Sources/Application Id]'
        - id: 5sVSOPN0oT
          formula: '[Union of 2 Sources/Customer Id]'
        - id: 7ycTlyQ71e
          formula: '[Union of 2 Sources/Application Date]'
        - id: oBmHE1c7RB
          formula: '[Union of 2 Sources/Loan Type]'
        - id: yE4yFL8FKQ
          formula: '[Union of 2 Sources/Loan Amount]'
        - id: W2wQgMSYo5
          formula: '[Union of 2 Sources/Requested Term Years]'
        - id: wnrt6ew0Ma
          formula: '[Union of 2 Sources/Credit Score at Application]'
        - id: WolrHTU6Zu
          formula: '[Union of 2 Sources/Status]'
      order:
        - ntQlDMco00
        - 5sVSOPN0oT
        - 7ycTlyQ71e
        - oBmHE1c7RB
        - yE4yFL8FKQ
        - W2wQgMSYo5
        - wnrt6ew0Ma
        - WolrHTU6Zu
      visibleAsSource: false
  pages:
    - id: eKhTktnw
      name: Page 1
  kind: workbook
  layout: |
    <?xml version="1.0" encoding="utf-8"?>
    <Page type="grid" gridTemplateColumns="repeat(24, 1fr)" gridTemplateRows="auto" id="eKhTktnw">
      <Element elementId="BWpDAJYAj1" gridColumn="1 / 25" gridRow="1 / 21"/>
    </Page>
documentVersion: 5

```

## Representing unions

#### Union representation

```yaml
...
id: BWpDAJYAj1
kind: table
source:
  kind: union
  sources:
  - connectionId: b2af3691-12a0-48fa-a91d-fbe2e1b31627
    kind: warehouse-table
    path:
    - EXAMPLES
    - DATACAMP
    - OAKMARK_BANK_LOAN_APPLICATIONS
  - connectionId: b2af3691-12a0-48fa-a91d-fbe2e1b31627
    kind: warehouse-table
    path:
    - EXAMPLES
    - DATACAMP
    - OAKMARK_BANK_LOANS
  matches:
  - outputColumnName: Application Id
    sourceColumns:
    - '[Application Id]'
    - '[Application Id]'
  - outputColumnName: Customer Id
    sourceColumns:
    - '[Customer Id]'
    - '[Customer Id]'
  - outputColumnName: Application Date
    sourceColumns:
    - '[Application Date]'
    - '[Start Date]'
  - outputColumnName: Loan Type
    sourceColumns:
    - '[Loan Type]'
    - '[Loan Type]'
  - outputColumnName: Loan Amount
    sourceColumns:
    - '[Loan Amount]'
    - '[Principal]'
  - outputColumnName: Requested Term Years
    sourceColumns:
    - '[Requested Term Years]'
    - '[Term Years]'
  - outputColumnName: Credit Score at Application
    sourceColumns:
    - '[Credit Score at Application]'
    - null
  - outputColumnName: Status
    sourceColumns:
    - '[Status]'
    - '[Status]'
columns:
- id: ntQlDMco00
  formula: '[Union of 2 Sources/Application Id]'
- id: 5sVSOPN0oT
  formula: '[Union of 2 Sources/Customer Id]'
- id: 7ycTlyQ71e
  formula: '[Union of 2 Sources/Application Date]'
- id: oBmHE1c7RB
  formula: '[Union of 2 Sources/Loan Type]'
- id: yE4yFL8FKQ
  formula: '[Union of 2 Sources/Loan Amount]'
- id: W2wQgMSYo5
  formula: '[Union of 2 Sources/Requested Term Years]'
- id: wnrt6ew0Ma
  formula: '[Union of 2 Sources/Credit Score at Application]'
- id: WolrHTU6Zu
  formula: '[Union of 2 Sources/Status]'
order:
- ntQlDMco00
- 5sVSOPN0oT
- 7ycTlyQ71e
- oBmHE1c7RB
- yE4yFL8FKQ
- W2wQgMSYo5
- wnrt6ew0Ma
- WolrHTU6Zu
visibleAsSource: false
...
```