Unique Operator: Using an Argument to Dynamically Find Unique Values
Overview
The Unique operator lets you see unique values in a data set. Sometimes you'll want to dynamically select which values you see. Using an argument lets you do that.
Let's say you have a table with a list of cities alongside the country they're a part of as well as the currency used there. And you want the option of selecting which key or keys the Unique operator references. You'll add a set of radio buttons to your module with various options. Then, you'll set those radio buttons as the argument for your Unique operator.
Here's how your module will look in the Module Builder:
Here's how the completed use case will look in Express View with a sneak peek at the DevTools Console:
What You'll Learn
In this article, you'll learn how to use a Unique operator to dynamically show unique values.
What You'll Need
To set up this use case, you’ll need:
-
1 Data Table component
-
1 Radio Buttons component
-
1 Hidden component
-
1 Data Workflow component
To set up your Data Workflow, you'll need:
-
2 Input operators
-
1 Unique operator
-
1 Output operator
-
1 Console operator
These instructions assume you have a new module open, saved, and with a title.
Configuration
Configure the Data Table Component
First, let's set up your country, city, and currency data. You'll use a Data Table component for that.
1. | In the Module Builder, drag and drop a Data Table component onto your canvas. |
2. | Enter dtCountries in the Label and Property Name fields. |
3. | In the data table, enter the following: |
country | city | currency |
---|---|---|
Afghanistan |
Kabul |
afghani |
Albania |
Tirana |
lek |
Algeria |
Algiers |
dinar |
Cambodia |
Phnom Penh |
riel |
Czechia |
Prague |
koruna |
Andorra |
Canillo |
euro |
Austria |
Vienna |
euro |
Afghanistan |
Herat |
afghani |
Albania |
Berat |
lek |
Algeria |
Algiers |
dinar |
Afghanistan |
Kabul |
afghani |
4. | Click Save. |
Configure the Radio Buttons Component
Next, let's add a way to select which keys to use when finding unique values. Later, you'll set this as the argument for your Unique Data Workflow operator.
1. | Drag and drop a Radio Buttons component onto your canvas. Place your Radio Buttons below your Data Table. |
2. | Enter findUnique in the Property ID field. |
3. | Enter Find Unique in the Label Text field. |
4. | In the Values table, enter the following: |
Option Label | Value to Store in Submission Data |
---|---|
Country |
country |
City |
city |
Currency |
currency |
Country and City |
country,city |
Country and Currency |
country,currency |
5. | Set the Required toggle to ON. Setting this toggle to ON means the end-user must enter a value into the field before navigating ahead. |
6. | Click Save. |
Configure the Hidden Component
Before you can set up your Data Workflow, you'll need a place to hold its output. You'll use a Hidden component for that.
1. | Drag and drop a Hidden component onto your canvas. Place your Hidden component below your Radio Buttons. |
2. | Enter uniqueOutput in the Property ID and Canvas Label Text fields. |
3. | Click Save. |
Configure the Data Workflow Component
Next, let's set up your Data Workflow. You'll use one Input operator to bring in your data. Then, you'll use a second Input operator to reference your Radio Buttons. This second Input operator serves as your argument. You'll connect both Input operators to your Unique operator. The Unique operator separates out data that holds unique values in argument keys. You'll send that data to your Hidden component using an Output operator. You'll also use a Console operator to view this outcome in the DevTools Console.
1. | Drag and drop a Data Workflow component onto your canvas. Place your Data Workflow below your Data Table. |
2. | Enter dwfUnique in the Canvas Label Text and Property Name fields. |
Configure the First Input Operator
This is the first Input operator in this configuration. It references your data table.
1. | Drag and drop an Input operator onto your Data Workflow canvas. |
2. | Configure the Input operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Input |
Component |
dtCountries |
Required |
Yes |
Source |
Default |
Configure the Second Input Operator
This is the second Input operator in this configuration. It references the selection made using your Radio Buttons.
1. | Drag and drop another Input operator onto your Data Workflow canvas. |
2. | Configure the Input operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Input |
Component |
findUnique |
Required |
Yes |
Source |
Default |
Configure the Unique Operator
The Unique operator looks at the data passed from your Data Table. Then, the operator looks at the data passed from the findUnique operator to see which key(s) to reference in your Data Table. From there, the Unique operator pulls the rows holding unique values in those keys. The Unique operator then sends that data on through the rest of your Data Workflow.
1. | Drag and drop a Unique operator onto your Data Workflow canvas. |
2. | Configure the Unique operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Unique |
Label |
Show Unique _arg Value |
Unique Keys |
_arg |
3. | Connect the output port (right) of the dtCountries Input operator to the input port (left) of the Unique operator. |
4. | Connect the output port (right) of the findUnique Input operator to the argument port (top) of the Unique operator. |
Configure the Output Operator
The Output operator passes the result of your Data Workflow to your Hidden component.
1. | Drag and drop an Output operator onto your Data Workflow canvas. |
2. | Configure the Output operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Output |
Component |
uniqueOutput |
Action |
value |
3. | Connect the output port (right) of the Unique operator to the input port (left) of the Output operator. |
Configure the Console Operator
The Console operator shows all of this action in the DevTools Console. You can use this operator for troubleshooting purposes.
1. | Drag and drop a Console operator onto your Data Workflow canvas. |
2. | Configure the Console operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Console |
Label |
Unique Value |
3. | Connect the output port (right) of the Unique operator to the input port (left) of the Console operator. |
4. | Click Save. |
5. | Save your module. |
Now you're ready to check your work. Preview your module in Express View and open the DevTools Console. Now, make a selection from your Find Unique buttons. You'll see the data that holds unique values for your selected key in the DevTools Console. You'll see the data changes based on your selection. The Unique operator only shows rows from your data table that have unique values in the key(s) selected.
Lab
You can view this complete use case here: https://training.unqork.io/#/form/64b55e9359cc75e50db0ae1b/edit.