Identifying if a character in a field is a number or text
I have a row that contains model numbers such as:
YM103Kl - (model category would be YM and capacity is 103)
YAC24LT (YAC and 24)
NC33KLT (NC and 33)
I'm trying to figure out how to extract the initial letters (2 or 3 depending on the model) to identify the model category and the subsequent numbers (single to triple digits) to identify the capacity.
And I notice Domo doesn't appear to have an isnumeric function. Can anyone advise on how to do this?
Best Answer
-
You can use a formula tile in a magic ETL to extract the first X letters and then the following numbers with the REGEXP_REPLACE function:
Model Category
REGEXP_REPLACE(`field`, '^(\D+).*$', '$1')
Capacity:
REGEXP_REPLACE(`field`, '^\D+(\d+).*$', '$1')
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0
Answers
-
You can use a formula tile in a magic ETL to extract the first X letters and then the following numbers with the REGEXP_REPLACE function:
Model Category
REGEXP_REPLACE(`field`, '^(\D+).*$', '$1')
Capacity:
REGEXP_REPLACE(`field`, '^\D+(\d+).*$', '$1')
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0 -
Wow @GrantSmith ! Thanks!
0 -
Also, if you want to check if something is numeric you can use a regular expression here as well:
CASE WHEN REGEXP_MATCH(`field`, '^\d+$') THEN 'Numeric' ELSE 'Non-Numeric' END
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0 -
@GrantSmith now I have a request to identify the value following the Capacity (that you determined above). So for example, with "YM103Kl"
I'd want to identify "K".
Can you help me with that regexp formula? thanks!
0 -
You can use the same regular expression for all parts of your string and just use a different matching group:
Model category:
REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$1')
Capacity:
REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$2')
Multiplier:
REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$3')
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0
Categories
- All Categories
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.6K Connect
- 1.2K Connectors
- 300 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 2.9K Transform
- 102 SQL DataFlows
- 626 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 753 Beast Mode
- 61 App Studio
- 41 Variables
- 692 Automate
- 177 Apps
- 456 APIs & Domo Developer
- 49 Workflows
- 10 DomoAI
- 38 Predict
- 16 Jupyter Workspaces
- 22 R & Python Tiles
- 398 Distribute
- 115 Domo Everywhere
- 276 Scheduled Reports
- 7 Software Integrations
- 130 Manage
- 127 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 11 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 110 Community Announcements
- 4.8K Archive