Formula Operator
Overview
The Formula operator lets you run your data through a calculation and send it to an output. Let's say you're calculating the cost of an insurance plan over time and you know the value for one month. To find the value for a year, you use a Formula operator to multiply your original value by 12. Another common use for this operator is to find percentages of a whole.
You have two options when creating your formula:
-
Creating a static formula using the Formula's Info window.
-
Creating a formula with dynamic values using the operator's argument port.
You’ll find the Formula operator under the Table group in the menu on the Data Workflow canvas.
What You'll Learn
In this article, you'll learn:
Info Window Settings
Here's what the Formula operator looks like, along with its Info window:
And here's a breakdown of each setting in the Info window:
Setting |
Description |
---|---|
Label |
The name applied to the operator. This label displays within the workflow. Labels should be user-friendly and well associated with the role of the operator. |
Preserve Argument Type |
When selected, this setting ensures the argument data type is respected when the operator executes. |
Formula/Expression |
The formula or expression you want to apply to your data. Here, use A to represent your original data. Your original data is anything you bring in through the operator's input port. Let's say you want to multiply your data by 12. To do that, you enter =A*12 in this field. If you want to use an argument instead of a set value in your formula, use _arg. So, the above formula with an argument looks like this: =A*_arg. In this example, _arg takes the place of 12. Whatever value is set in the argument port goes in its place. |
Adding and Configuring a Formula Operator
To show the Formula operator in action, let's look at an example. This example uses a standard monthly insurance rate set in a Number component. Your end-user has the choice of how long they need coverage. From there, a Data Workflow uses a Formula operator to calculate the cost of coverage.
Here's how the completed use case looks in the Module Builder:
Here's how the completed use case looks in Express View Express View is how your end-user views you 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.:
Configure the Text Field Components
Start by adding your Text Field components. Your first Text Field holds the monthly cost of insurance. The second holds the total cost based on how many months of coverage your end-user wants. Since your values here are always monetary, set a dollar sign as the prefix. Your end-users don't need to enter anything in these fields either, so set them both to disable user input.
1. | Drag and drop two Text Field components onto your canvas. |
Property ID |
Label Text |
---|---|
monthlyCost |
Monthly Cost |
totalCost |
Total Cost |
3. | In the Prefix field, enter $ . |
4. | Set the Disable User Input toggle to (ON). |
5. | Save & Close each component as you add it. |
Configure the Initializer Component
Next, add your Initializer component. Every time an end-user opens a new submission, your Initializer places a value of 1000 in your first Text Field. This lets the Initializer manage the monthly cost. If you want to set a new monthly cost, all you have to do is update this Initializer.
1. | Drag and drop an Initializer component onto your canvas, placing it above your Text Field components. |
4. | In the Outputs Enter outputs components and actions you want the component to perform. table, enter the following: |
Property ID |
Type |
Value | |
---|---|---|---|
1 |
monthlyCost |
value |
1000 |
5. | Click Save & Close. |
Configure the Dropdown Component
Now, give your end-user a way to select how many months they want coverage. Use a Dropdown component for that. This component serves as the argument for your Formula operator.
1. | Drag and drop a Dropdown component onto the canvas, placing it between your Text Field components. |
2. | In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter coverageLength. |
3. | In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter How many months of coverage do you need?. |
4. | In the Values table, enter the following: |
Option Label |
Option Value |
---|---|
6 |
6 |
12 |
12 |
18 |
18 |
24 |
24 |
5. | Click Save & Close. |
Configure the Data Workflow Component
Now you can add your Data Workflow component, bringing your monthly cost into the Data Workflow using an Input operator. A second Input operator brings in your end-user's selection from the Dropdown. Then, a Formula operator calculates the total cost. The final value is sent to your Text Field using an Output operator.
1. | Drag and drop a Data Workflow component onto your canvas, placing it below your other components. |
2. | In the Canvas Label Text and Property Name fields, enter dwfCost. |
3. | Set the Trigger Type Deteremines how the component triggers. to Watch. |
Configure the First Input Operator
This Input operator references data from your monthlyCost Text Field component.
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 |
monthlyCost |
Required |
Yes |
Source |
Default |
Configure the Second Input Operator
This operator draws your end-user's requested coverage length.
1. | Drag and drop a second Input operator onto your Data Workflow canvas. |
2. | Configure the Input operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Input |
Component |
coverageLength |
Required |
Yes |
Source |
Default |
Configure the Formula Operator
This operator multiples the monthly cost (A) by your end-user's coverage length, which serves as the formula's argument (_arg).
1. | Drag and drop a Formula operator onto your Data Workflow canvas. |
2. | Configure the Formula operator's Info window as follows: |
Setting |
Value |
---|---|
Category |
Formula Value |
Label |
Total Cost |
Preserve Argument Type |
Unchecked (no) |
Formula/Expression |
=A*_arg |
3. | Connect the output port (right) of the monthlyCost Input operator to the input port (left) of the Formula operator. |
4. | Connect the output port (right) of the coverageLength Input operator to the argument port (top) of the Formula operator. |
Configure the Output Operator
This Output operator sends the final cost to your totalCost Text Field 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 |
totalCost |
Action |
value |
3. | Connect the output port (right) of the Formula operator to the input port (left) of the Output operator. |
4. | Click Save. |
5. | Save your module. |
Now, preview your module in Express View and make a selection from the Dropdown. Depending on your selection, you see the calculated total cost in the Total Cost field. When you make a new selection, the total cost updates.
Resources
-
You can view this complete use case here: https://training.unqork.io/#/form/5f6ce452f1a98d024e9620f2/edit.
-
Modify the Formula operator in the Data Workflow's configuration window.