> 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 Sankey chart (Beta)

> Example Sigma code representation of a workbook with a Sankey chart.

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 Sankey chart that shows how trips flow from the busiest start stations to their end stations.

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 **Chart** > **Sankey**.

4. In the **Select source** modal, search for the table `TRIP` in the `EXAMPLES.BIKES` schema.

5. Select the table to use it as the chart source.

   A blank Sankey chart appears on the workbook canvas.

6. In the editor panel, select **Properties**.

7. For **Stages**, select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/button-add.svg) **Add column** and select *Start Station Name*.

8. For **Stages**, select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/button-add.svg) **Add column** again and select *End Station Name*.

   The chart now has two stages, so each link represents trips between a start station and an end station.

9. For **Value**, select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/button-add.svg) **Add calculation** and select **Id**.

   The Sankey chart now shows the flow of trips from start stations to end stations, with the width of each link representing the number of trips.

10. Select the chart, and select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/filter.svg) **Filters...**.

11. Select **Add filter** and select *Start Station Name*.

12. Select **Filter options..** > **Change filter type** > **Top N**.

    The chart filters to the top 10 busiest start stations, so you can see the flow of trips from the busiest start stations to their end stations.

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

14. Enter a name for the workbook, such as `sankey-chart`.

15. 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: 7f8ff7e3-daa9-48a1-a59d-56e9b8d815f0
workbookUrlId: UkiuOrhO4Q5lOeI6iIa0os
createdBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
updatedBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
createdAt: '2026-09-01T14:49:52.980Z'
updatedAt: '2026-09-02T15:41:04.446Z'
name: sankey-chart
url: https://aws-api.sigmacomputing.com/org-name/workbook/UkiuOrhO4Q5lOeI6iIa0os
path: My Documents/<folder-name>
latestVersion: 10
ownerId: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
isArchived: false
contents:
  schemaVersion: 1
  elements:
    - id: eTizXgX
      kind: table
      source:
        connectionId: b2af3691-12a0-48fa-a91d-fbe2e1b31627
        kind: warehouse-table
        path:
          - EXAMPLES
          - BIKES
          - TRIP
      columns:
        - id: 6DqBgE6Rq
          formula: '[TRIP/Id]'
        - id: wOW6NNWOZqI
          formula: '[TRIP/Duration]'
        - id: jC0c8h8Ewz3g
          formula: '[TRIP/Start Date]'
        - id: cOIGflvCqIlC
          formula: '[TRIP/Start Station Name]'
        - id: JpVJowwqZg
          formula: '[TRIP/Start Station Id]'
        - id: GyZynaXgfv
          formula: '[TRIP/End Date]'
        - id: qQzuJifMd2
          formula: '[TRIP/End Station Name]'
        - id: 3Esuzz9y
          formula: '[TRIP/End Station Id]'
        - id: a1ySXDMEm
          formula: '[TRIP/Bike Id]'
        - id: Kng0H6Uvst
          formula: '[TRIP/Subscription Type]'
        - id: B0QtJd
          formula: '[TRIP/Zip Code]'
      order:
        - 6DqBgE6Rq
        - wOW6NNWOZqI
        - jC0c8h8Ewz3g
        - cOIGflvCqIlC
        - JpVJowwqZg
        - GyZynaXgfv
        - qQzuJifMd2
        - 3Esuzz9y
        - a1ySXDMEm
        - Kng0H6Uvst
        - B0QtJd
    - id: R43yW8Qq
      kind: sankey-chart
      source:
        elementId: eTizXgX
        kind: table
      columns:
        - id: ch_cOIGflvCqIlC
          formula: '[TRIP/Start Station Name]'
        - id: ch_qQzuJifMd2
          formula: '[TRIP/End Station Name]'
        - id: RDr75Ovtuk
          formula: Count([Id])
        - id: ch_6DqBgE6Rq
          formula: '[TRIP/Id]'
        - id: ch_wOW6NNWOZqI
          formula: '[TRIP/Duration]'
        - id: ch_jC0c8h8Ewz3g
          formula: '[TRIP/Start Date]'
        - id: ch_JpVJowwqZg
          formula: '[TRIP/Start Station Id]'
        - id: ch_GyZynaXgfv
          formula: '[TRIP/End Date]'
        - id: ch_3Esuzz9y
          formula: '[TRIP/End Station Id]'
        - id: ch_a1ySXDMEm
          formula: '[TRIP/Bike Id]'
        - id: ch_Kng0H6Uvst
          formula: '[TRIP/Subscription Type]'
        - id: ch_B0QtJd
          formula: '[TRIP/Zip Code]'
      stages:
        - columnId: ch_cOIGflvCqIlC
        - columnId: ch_qQzuJifMd2
      value:
        columnId: RDr75Ovtuk
      filters:
        - id: f1mMYCYadI
          columnId: ch_cOIGflvCqIlC
          kind: top-n
          rankingFunction: rank
          mode: top-n
          rowCount: 10
          includeNulls: when-no-value-is-selected
  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="eTizXgX" gridColumn="1 / 25" gridRow="1 / 21"/>
      <Element elementId="R43yW8Qq" gridColumn="1 / 25" gridRow="21 / 41"/>
    </Page>
documentVersion: 10

```

## Representing Sankey charts

#### Sankey chart representation

```yaml
...
id: R43yW8Qq
kind: sankey-chart
source:
  elementId: eTizXgX
  kind: table
columns:
- id: ch_cOIGflvCqIlC
  formula: '[TRIP/Start Station Name]'
- id: ch_qQzuJifMd2
  formula: '[TRIP/End Station Name]'
- id: RDr75Ovtuk
  formula: Count([Id])
- id: ch_6DqBgE6Rq
  formula: '[TRIP/Id]'
- id: ch_wOW6NNWOZqI
  formula: '[TRIP/Duration]'
- id: ch_jC0c8h8Ewz3g
  formula: '[TRIP/Start Date]'
- id: ch_JpVJowwqZg
  formula: '[TRIP/Start Station Id]'
- id: ch_GyZynaXgfv
  formula: '[TRIP/End Date]'
- id: ch_3Esuzz9y
  formula: '[TRIP/End Station Id]'
- id: ch_a1ySXDMEm
  formula: '[TRIP/Bike Id]'
- id: ch_Kng0H6Uvst
  formula: '[TRIP/Subscription Type]'
- id: ch_B0QtJd
  formula: '[TRIP/Zip Code]'
stages:
- columnId: ch_cOIGflvCqIlC
- columnId: ch_qQzuJifMd2
value:
  columnId: RDr75Ovtuk
filters:
- id: f1mMYCYadI
  columnId: ch_cOIGflvCqIlC
  kind: top-n
  rankingFunction: rank
  mode: top-n
  rowCount: 10
  includeNulls: when-no-value-is-selected
...
```