--- title: "Clean Keys Operator" slug: "clean-keys-operator" updated: 2025-09-26T00:14:34Z published: 2025-09-26T00:14:34Z canonical: "docs.unqork.io/clean-keys-operator" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Clean Keys Operator UDesignerClassic Designer ## Overview The Data Workflow component's **Clean Keys operator** replaces empty or missing values with a string or number value. In a module, table data stores in an array. An array organizes data into keys and values. The Clean Keys operator uses key names to create new keys and fill their values, or fill values in an existing key. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/cleanKeysOperator_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) The operator has the following options for filling in data values: - **Missing**: Fills values for existing and non-existing keys. Adds a key if it does not exist in your data, and fills all values for that key. - **Empty**: Creates values in your data for existing keys. - **Empty**: Creates values in your data for existing keys. You’ll find the Clean Keys operator under the [Table](/v1/docs/tableoperators) group to the left of your [Data Workflow](/v1/docs/data-workflow-component) canvas. ## About the Info Window Learn more about each setting in the Clean Keys operator's Info window: | Setting | Value | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | Fill If | Select the types of keys or values that are modified by the operator: - **Missing**: Fills values for keys containing missing values. This option creates a key if it's missing from your data set. It also fills all values under the generated key with the value from **Fill With**. > [!NOTE] > If you add a value to your data set and then delete it, the value is set to `Empty`. - **Empty**: Fills data values that have a key but are empty. - **Missing or Empty**: Fills values for data sets that are missing a key, or that have a key and are missing values. | | Keys | Enter your key names here for the following: - For **Missing** keys, enter the replacement key name. - For **Empty** values, enter the replacement value. > [!NOTE] > You can enter more than one key name in this field. | | Fill With | The value entered replaces the empty or missing value. If your key is **Missing** and does not exist on your data set, this field adds all data under the new key field. If your field is **Empty**, this field fills the values under the key name you entered. | ## Adding a Clean Keys Operator Set up a data table that records employee AWS (Amazon Web Services) certification. Use a [Data Workflow](/v1/docs/data-workflow-component) and Clean Keys operator to replace empty certification values with a value of `none`. Then, display the modified data using a [ViewGrid](/v1/docs/viewgrid-component) component. ### Configure the Data Table Component Add a [Data Table](/v1/docs/data-table-component) component containing the certification data with missing values. 1. In the Module Builder, drag and drop a **Data Table** component onto your canvas. 2. In the Property ID field, enter **dtAWSCertData**. 3. In the data table, enter the following: | | A | B | C | D | | --- | --- | --- | --- | --- | | 1 | firstName | certification | accountValue | dateOfBirth | | 2 | Blair | aws solutions architect | 1000000 | 07/23/90 | | 3 | JJ | | 678900 | 02/26/89 | | 4 | Jim | | 1000000 | 01/04/88 | | 5 | Evan | aws developer | null | | | 6 | Charlotte | aws security | 5000000 | 02/01/91 | | 7 | Amy | aws database | 5439294 | | | 8 | Brian | aws machine learning | | | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dtAWSCertData_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) 4. Click **Save Component**. ### Configure the Hidden Component Add a [Hidden](/v1/docs/hidden-component) component to store the output from the Data Workflow component. You'll set up a Data Workflow in the next section. 1. Drag and drop a **H****idden** component onto your canvas, placing it below your **dtAWSCertData** **Data Table** component. 2. In the Property ID and Label Text fields, enter `addedCert`. 3. Click **Save Component**. ### Configure the Data Workflow Component Next, add a [Data Workflow](/v1/docs/hidden-component) component and configure a Clean Keys operator to locate and replace missing values in the **dtAWSCertData** ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/data_table_teal_component(19).png?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) **Data Table** component's certification column. Additionally, add Console operators to view how the data is modified by the Clean Keys operator. 1. Drag and drop a **D****ata Workflow** component onto your canvas, placing it between the **dtAWSCertData** ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/data_table_teal_component(19).png?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) **Data Table** and **addedCert** **H****idden** components. 2. In the Property ID field, enter **dwfFillKeysIfEmpty**. 3. In the Canvas Label Text, enter `dwfFillKeysIfEmpty`. #### Configure the Input Operator 1. Drag and drop an **I****nput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Input | | Component | dtAWSCertData | | Required | Yes | | Source | Default | #### Configure the First Console Operator Next, configure a [Console](/v1/docs/console-operator) operator to display the **dtAWSCertData** data before manipulation. 1. Drag and drop a **C****onsole** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Console | | Label | Input Data | 3. Connect the output port (right) of the **dtAWSCertData** **I****nput** operator to the input port (left) of the **Input Data** **C****onsole** operator. #### Configure the Clean Keys Operator Add the Clean Keys operator to fill the empty values in the certification column with a value of `none`. 1. Drag and drop a **C****lean Keys** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Clean Keys | | Label | Fill Certification | | Preserve Argument Type | ☐ (**unchecked**) | | Fill If | Empty | | Keys | certification | | Fill With | none | 3. Connect the output port (right) of the **dtAWSCertData** **I****nput** operator to the input port (left) of the **Fill Certification** **C****lean Keys** operator. #### Configure the Second Console Operator Add another Console operator to display the **dtAWSCertData** data after it passes through the Clean Keys operator. 1. Drag and drop a **C****onsole** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Console | | Label | Fill Certification | 3. Connect the output port (right) of the **Fill Certification****C****lean Keys** operator to the input port (left) of the **Fill Certification** **C****onsole** operator. #### Configure the Output Operator 1. Drag and drop an **O****utput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Output | | Component | addedCert | | Action | value | 3. Connect the output port (right) of the **Fill Certification** **C****lean Keys** operator to the input port (left) of the **addedCert** **O****utput** operator. 4. Click **Save Component**. Here's how the completed Data Workflow looks: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dwfFillKeysIfEmpty_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) ### Configure the ViewGrid Component Set up a [ViewGrid](/v1/docs/viewgrid-component) component to display the data after the Data Workflow manipulates the empty certification keys. 1. Drag and drop a **ViewGrid** component onto your canvas, placing it below your **dwfFillKeysIfEmpty** **D****ata Workflow** component. 2. In the Property ID field, enter **vgCertificates**. 3. In theCanvas Label Text, enter `vgCertificates`. 4. Navigate to the **Data** settings. 5. In the **Inputs** table, enter the following: | | Source | Required | | --- | --- | --- | | 1 | addedCert | ☐ (**unchecked**) | 6. In the **Display** table, enter the following: | | Display | Formula | Heading | Type | | --- | --- | --- | --- | --- | | 1 | firstName | | First Name | | | 2 | certification | | Certification | | | 3 | accountValue | | Account Value | | | 4 | dateOfBirth | | Date of Birth | | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/vgCertificates_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) 7. Navigate to the **Actions** settings. 8. In the Action field, enter `null`. 9. Click **Save Component**. ### Configure the Button Component Lastly, configure a [Button](/v1/docs/button-component) component to trigger the Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it below the **dwfSet** **D****ata Workflow** component. 2. In the Property ID field, enter **btnFillKeys**. 3. In the Label Text field, enter `Fill Keys`. 4. Navigate to the **Actions** settings. 5. From the **Action Type** drop-down, select **Event**. 6. From the **On Click** drop-down, enter or select **dwfFillKeysIfEmpty**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/btnFillKeys_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) 7. Click **Save Component**. 8. **Save** your module. Your completed module looks like the following: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/moduleBuilder_thumb_0_0(1).jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) **Preview** your module in Express View and open the DevTools Console. Click Fill Keys. Open each Console operator array and observe the difference between the certification values. The Clean Keys operator replaces missing certification values with the value of `none`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/expressView_thumb_0_0(20).jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) ## Overview The Data Workflow component's **Clean Keys operator** replaces empty or missing values with a string or number value. In a module, table data stores in an array. An array organizes data into keys and values. The Clean Keys operator uses key names to create new keys and fill their values, or fill values in an existing key. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/getOperatorClassic_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) The operator has the following options for filling in data values: - **Missing**: Fills values for existing and non-existing keys. Adds a key if it does not exist in your data, and fills all values for that key. - **Empty**: Creates values in your data for existing keys. - **Empty**: Creates values in your data for existing keys. You’ll find the Clean Keys operator under the [Table](/v1/docs/tableoperators) group to the left of your [Data Workflow](/v1/docs/data-workflow-component) canvas. ## About the Info Window Learn more about each setting in the Clean Keys operator's Info window: | Setting | Description | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | Fill If | Select the types of keys or values that are modified by the operator: - **Missing**: Fills values for keys containing missing values. This option creates a key if it's missing from your data set. It also fills all values under the generated key with the value from **Fill With**. > [!NOTE] > If you add a value to your data set and then delete it, the value is set to `Empty`. - **Empty**: Fills data values that have a key but are empty. - **Missing or Empty**: Fills values for data sets that are missing a key or that have a key and are missing values. | | Keys | Enter your key names here for the following: - For **Missing** keys, enter the replacement key name. - For **Empty** values, enter replacement value. > [!NOTE] > You can enter more than one key name in this field. | | Fill With | The value entered replaces the empty or missing value. If your key is **Missing** and does not exist on your data set, this field adds all data under the new key field. If your field is **Empty**, this field fills the values under the key name you entered. | ## Adding a Clean Keys Operator Set up a data table that records employee AWS (Amazon Web Services) certification. Use a [Data Workflow](/v1/docs/data-workflow-component) and Clean Keys operator to replace empty certification values with a value of `none`. Then, display the modified data using a [ViewGrid](/v1/docs/viewgrid-component) component. ### Configure the Data Table Component Add a [Data Table](/v1/docs/data-table-component) component containing the certification data with missing values. 1. In the Module Builder, drag and drop a **Data Table** component onto your canvas. 2. In the Property ID and Canvas Label Text fields, enter `dtAWSCertData`. 3. In the data table, enter the following: | | A | B | C | D | | --- | --- | --- | --- | --- | | 1 | firstName | certification | accountValue | dateOfBirth | | 2 | Blair | aws solutions architect | 1000000 | 07/23/90 | | 3 | JJ | | 678900 | 02/26/89 | | 4 | Jim | | 1000000 | 01/04/88 | | 5 | Evan | aws developer | null | | | 6 | Charlotte | aws security | 5000000 | 02/01/91 | | 7 | Amy | aws database | 5439294 | | | 8 | Brian | aws machine learning | | | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dtAWSCertDataClassic_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) 4. Click **Save & Close**. ### Configure the Hidden Component Add a [Hidden](/v1/docs/hidden-component) component to store the output from the Data Workflow component. You'll set up a Data Workflow in the next section. 1. Drag and drop a **H****idden** component onto your canvas, placing it below your **dtAWSCertData** **Data Table** component. 2. In the Property ID and Label Text fields, enter `addedCert`. 3. Click **Save & Close**. ### Configure the Data Workflow Component Next, add a [Data Workflow](/v1/docs/data-workflow-component) component and configure a Clean Keys operator to locate and replace missing values in the **dtAWSCertData Data Table** component's certification column. Additionally, add Console operators to view how the data is modified by the Clean Keys operator. 1. Drag and drop a **D****ata Workflow** component onto your canvas, placing it between the **dtAWSCertData** **Data Table** . and **addedCert** **H****idden** components. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfFillKeysIfEmpty`. #### Configure the Input Operator 1. Drag and drop an **I****nput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | dtAWSCertData | | Required | Yes | | Source | Default | #### Configure the First Console Operator Next, configure a [Console](/v1/docs/console-operator) operator to display the **dtAWSCertData** data before manipulation. 1. Drag and drop a **C****onsole** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Input Data | 3. Connect the output port (right) of the **dtAWSCertData** **I****nput** operator to the input port (left) of the **Input Data** **C****onsole** operator. #### Configure the Clean Keys Operator Add the Clean Keys operator to fill the empty values in the certification column with a value of `none`. 1. Drag and drop a **C****lean Keys** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Clean Keys | | Label | Fill Certification | | Preserve Argument Type | ☐ (**unchecked**) | | Fill If | Empty | | Keys | certification | | Fill With | none | 3. Connect the output port (right) of the **dtAWSCertData** **I****nput** operator to the input port (left) of the **Fill Certification** **C****lean Keys** operator. #### Configure the Second Console Operator Add another Console operator to display the **dtAWSCertData** data after it passes through the Clean Keys operator. 1. Drag and drop a **C****onsole** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Fill Certification | 3. Connect the output port (right) of the **Fill Certification****C****lean Keys** operator to the input port (left) of the **Fill Certification** **C****onsole** operator. #### Configure the Output Operator 1. Drag and drop an **O****utput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | addedCert | | Action | value | 3. Connect the output port (right) of the **Fill Certification** **C****lean Keys** operator to the input port (left) of the **addedCert** **O****utput** operator. 4. Click **Save**. Here's how the completed Data Workflow looks: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dwfFillKeysIfEmptyClassic_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) ### Configure the ViewGrid Component Set up a [ViewGrid](/v1/docs/viewgrid-component) component to display the data after the Data Workflow manipulates the empty certification keys. 1. Drag and drop a **ViewGrid** component onto your canvas, placing it below your **dwfFillKeysIfEmpty** **D****ata Workflow** component. 2. In the Property ID field, enter **vgCertificates**. 3. In theCanvas Label Text, enter `vgCertificates`. 4. Navigate to the **Data** settings. 5. In the **Inputs** table, enter the following: | | Source | Required | | --- | --- | --- | | 1 | addedCert | ☐ (**unchecked**) | 6. In the **Display** table, enter the following: | | Display | Formula | Heading | Type | | --- | --- | --- | --- | --- | | 1 | firstName | | First Name | | | 2 | certification | | Certification | | | 3 | accountValue | | Account Value | | | 4 | dateOfBirth | | Date of Birth | | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/vgCertificatesClassic_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) 7. Navigate to the **Actions** settings. 8. In the Action field, enter `null`. 9. Click **Save**. ### Configure the Button Component Lastly, configure a [Button](/v1/docs/button-component) component to trigger the Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it below the **dwfSet** **D****ata Workflow** component. 2. In the Property ID field, enter **btnFillKeys**. 3. In the Label Text field, enter `Fill Keys`. 4. Navigate to the **Actions** settings. 5. Set the **Action Type** to **Event**. 6. In the **On Click** field, enter or select dwfFillKeysIfEmpty. 7. Click **Save & Close**. 8. **Save** your module. Your completed module looks like the following: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/moduleBuilderClassic_thumb_0_0(4).jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) Preview your module in Express View and open the DevTools Console. Click Fill Keys. Open each Console operator array and observe the difference between the certification values. The Clean Keys operator replaces missing certification values with the value of `none`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/expressView_thumb_0_0(21).jpg?sv=2026-02-06&spr=https&st=2026-11-06T15%3A33%3A30Z&se=2026-11-06T16%3A33%3A30Z&sr=c&sp=r&sig=hJw4LykekpS0Z8UAdSRNwLCFES9XeHLJVkBh2aMOz3A%3D) ## Resources - [Modify the Clean Keys operator.](/v1/docs/modifying-data-workflow-operators) - [Introduction to Data Workflow](/v1/docs/introduction-to-data-workflow) - [Introduction to Data Workflow Operators](/v1/docs/data-workflow-operators) - [Data Workflow component](/v1/docs/data-workflow-component) - [Input operator](/v1/docs/input-operator) - [Output operator](/v1/docs/output-operator) A string is an object that represents a sequence of characters. Strings typically hold data represented in text form. The Number data type accepts integer or floating point values. The number data type does not use quotes around numerical values. An array is a type of object that stores one or more data types. Data types supported in arrays include numbers, strings, and objects. A key-value pair is a fundamental data structure where a unique "key" is associated with a specific "value," used for organizing and retrieving data efficiently, like in dictionaries or databases. A Property ID is the unique field ID used by Unqork to track and link components in your module. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View. The DevTools Console helps you securely store, build, test, and deploy your software.