# How to Create Virtual Attributes

### Select your data source on the Pipeline Designer page

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-13/de884943-79f0-4f68-9103-5af06028ab32/ascreenshot.jpeg?tl_px=0,13\&br_px=1376,782\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=474,277)

### Open the Virtual Attributes section

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/8aea8bba-1403-4b11-ae84-879f701e81b6/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=386,438)

### Enter the name of the new virtual attribute

{% hint style="info" %}
By default, you will be in "Create New Attribute" mode. After you finish creating a virtual attribute, you can select an existing virtual attribute to edit in that top dropdown to make any updates as needed.
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/d3311d0a-491f-4b8c-9720-bda1c105e25f/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=458,270)

### Add the description of the virtual attribute

This description will be used in the semantic model for the attribute.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/ea08ba08-6987-4ff7-833a-6c02fa94b8a6/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=380,261)

### Select the source data type

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/5fb783c7-f97b-4ee4-bd86-2a946035e828/ascreenshot.jpeg?tl_px=0,102\&br_px=1376,871\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=377,276)

### Select the Snowflake data type

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/090e55e0-da79-4a47-a604-4407d3116e33/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=432,341)

### (Optional) Select the W Question Category

You can select one of the W (What, Where, When, Who, Why) Question categories. This value will be used to determine which section of the semantic model to add the attribute to.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/2cd15a30-3552-4667-947c-f15a91c7c7fe/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=421,314)

### (Optional) Select the Object Array

The object array the virtual attribute will be inserted into. If left blank the virtual attribute will be inserted at the root level.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/ab84d4ad-4877-4a7b-b6d5-b0b0083872cc/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=366,379)

### Enter the SQL Expression

This SQL expression will be used for the Dynamic Table column definition.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/4b249237-d9a8-4ca9-b1b3-fbb1b0611e35/ascreenshot.jpeg?tl_px=62,187\&br_px=1438,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=524,450)

### Create the virtual attribute

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/efc48671-ad5e-4ed0-a3cf-1d0ee0129f14/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=291,546)

### Ensure the attribute was created successfully

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-26/a16c0922-0260-410a-bae1-1cfaf56ecbbf/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=379,149)

### Add additional virtual attributes as needed

For the JSON Tutorial, add the customer\_email\_domain virtual attribute:

![](https://colony-recorder.s3.amazonaws.com/files/2026-01-29/efe9991b-e6aa-46b1-beaf-40f0888ecb67/ascreenshot_9fb84171ec564d86a6c2f42591b99619_text_export.jpeg)
