Troubleshooting: Filtered Strings in Data Workflow
Issue
With the Filter operator, filtering strings that contain only numbers might lead to errors in your Data Workflow. If you encounter these errors, try the solutions listed below.
Solutions
Possible solutions to troubleshoot filtered string errors in your Data Workflow are:
- Convert a number to a string by adding an artificial letter to your Data Workflow's argument.
- Convert a number to a string by using a Filter Operator.
Adding an Artificial Letter to Your Argument
The first option is to append a letter to the beginning of your filtered field of numbers. Instead of entering an argument value of 12345, it’s better to enter something like T12345. Now, the Filter operator looks at this value as a string instead of a number. For example, concatenate a string of numbers (A) from a table. In your Filter operator, append a letter into your Formula/Expression: =CONCATENATE('T',A).
1. | In the Module Builder, hover over your Data Workflow component. |
2. | A 5-button toolbar displays above the component on hover-over. |
Using the toolbar, click the (Settings) button.
3. | On your Data Workflow canvas, find your Filter operator. |
4. | Configure the Filter operator's Info window as follows: |
Setting | Category |
---|---|
Category |
Formula Value |
Label |
Concat Filter |
Formula/Expression |
=CONCATENATE('T',A) |
5. | Click Save. |
6. | Save your module. |
Converting a Number to a String Using a Filter Operator
Another option is to check your argument. If the argument is a string, the filter works correctly. If the argument isn’t a string, you can run a formula to make the value a string. For example, you can use a combination of IF and STRINGIFY equations. In the expression field of your Filter operator, the equation looks like this: =IF(ISNUMBER(_arg),STRINGIFY(_arg),_arg). The first part of the equation is a True/False question to determine if your argument is a string or not. If True, the filter operation proceeds. If False, the value is cast into a string before being filtered.
1. | In the Module Builder, hover over your Data Workflow component. |
2. | A 5-button toolbar displays above the component on hover-over. |
Using the toolbar, click the (Settings) button.
3. | On your Data Workflow canvas, find your Filter operator. |
4. | Configure the Filter operator's Info window as follows: |
Setting | Category |
---|---|
Category |
Formula Value |
Label |
Convert String |
Formula/Expression |
=IF(ISNUMBER(_arg),STRINGIFY(_arg),_arg) |
5. | Click Save. |
6. | Save your module. |
Resources
- Community Hub: How Can I Pass a Component’s Data Into Data Workflow’s Filter Operator?
-
Community Hub: What Is the Syntax for Filtering Multiple Values in a Filter Operator?