Create Field Operator: Updating and Conditionally Updating Key/Value Pairs

Prev Next

Overview

The Create Field operator isn't just for creating fields. You can also use it to update existing fields. In this article, you'll learn to update key/value pairs in a table.

Imagine  that the value for "employed" is "true" in every row of the table. But, you want to switch the value from "true" to "yes". Using a simple employed="yes" expression updates the value across every row. This is the first key to update.

The second key is "fullPartTime", which defines if the person works full-time or part-time. The 2 possible values are "partTime" and "full". But you want to change the value from "full" to "fullTime". Using a conditional expression makes this update easy. Here's what that looks like: fullPartTime=IF(fullPartTime="full","fullTime",fullPartTime).

Let's break this down. Remember, the format of conditional expressions is key=IF(condition,valueIfTrue,valueIfFalse).

  • The condition the value from "fullPartTime" to "full".

  • The valueIfTrue is "fullTime", so that "full" gets replaced with "fullTime".

  • The valueIfFalse is the key fullPartTime. Meaning, if the value of fullPartTime is not "full", leave it as-is. This way, the "partTime" values get left alone.

Here's how the completed use case looks in the Module Builder:

Here's how the completed use case looks in Express View, including a peek at the DevTools Console:

What You'll Learn

In this article, you'll learn to use the Create Field operator to conditionally update existing key/value pairs in a table.

What You'll Need

For this use case, you'll need:

  • 1 Data Table component

  • 1 Button component

  • 1 Data Workflow component

For your Data Workflow, you'll need:

  • 1 Input operator

  • 1 Create Field operator

  • 2 Console operators

Configure the Data Table Component

First, let's create the table where you add your key/value pairs.

  1. Drag and drop a Data Table component onto your canvas.

  2. Enter dtTable in the Label and Property Name fields.

    name

    incomeAnnual

    employed

    fullPartTime

    Kris

    36000

    true

    partTime

    Yuki

    98500

    true

    full

    Graciela

    74000

    true

    full

  3. Click Save.

Configure the Data Workflow Component

With the Data Table set up, you're ready to use the Create Field operator. First, update the employed key/value pair in every row (object) in your table (array). Then, conditionally update the fullPartTime value from "full" to "fullTime".

  1. Drag and drop a Data Workflow component onto your canvas, placing it below the Data Table.

  2. Enter dwfCreateField in the Canvas Label Text and Property Name fields.

Configure the Input Operator

First, connect your Data Table to the Data Workflow using Input operators.

  1. Drag and drop an Input operator onto your Data Workflow canvas.

  2. Configure the operator's Info window as follows:

    Setting

    Value

    Category

    Input

    Component

    dtTable

    Required

    Yes

    Source

    Default

Configure the Create Field Operator

Next, let's set up the Create Field operator.

  1. Drag and drop a Create Field operator onto your Data Workflow canvas.

  2. Configure the operator's Info window as follows:

    Setting

    Value

    Category

    Create Field

    Label

    employment

    Do Not Sanitize Formula

    Yes (checked)

    Field 1

    employed="yes"

    Field 2

    fullPartTime=IF(fullPartTime="full","fullTime",fullPartTime)

  3. Connect the output port (right) of the dtTable Input operator to the input port (left) of the Create Field operator.

Configure the Console Operators

For your last 2 operators you'll add Console operators. These operators provide an easy way to see the before and after of your Create Field operator.

You'll notice that the Create Field operator only outputs to a Console operator. When creating applications, you might also want to use a dedicated Output operator. Then, you can connect that Output operator to a Hidden component. That way, you can store the final table and reference it elsewhere in your application.

  1. Drag and drop 2 Console operators onto your Data Workflow canvas.

  2. Configure the first Console operator's Info window as follows:

    Setting

    Value

    Category

    Console

    Label

    Before Create Field

  3. Connect the output port (right) of the dtTable Input operator to the input port (left) of the Before Create Field Console operator.

  4. Configure the second Console operator's Info window as follows:

    Setting

    Value

    Category

    Console

    Label

    After Create Field

  5. Connect the output port (right) of the Create Field operator to the input port (left) of the After Create Field Console operator.

  6. Click Save.

Configure the Button Component

Finally, let's create a button you can click in Express View to trigger your Data Workflow.

  1. Drag and drop a Button component onto your canvas, placing it below the Data Workflow.

  2. Enter btnRunDWF in the Property ID field.

  3. Enter Run Create Field in the Label Text field.

  4. Select Event as the Action Type.

  5. Enter dwfCreateField in the Trigger on Click field.

  6. Click Save.

  7. Save your module.

Now you're ready to test out your Data Workflow. Preview your module in Express View and open the DevTools Console. Click the Run Create Field button and see what displays in the Console. It looks something like this:

Lab

You can find the completed Updating and Conditionally Updating Key/Value Pairs in a Table lab here: https://training.unqork.io/#/form/5f6e53e8f1a98d024e964c85/edit.