Free Trial

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

parse for a certain word or get value at certain string

eaglepath
6 - Meteoroid

In the Data below i want to POL and corresponding value from Part so basically where ever is POL placed we need to get same number of value from part column:

 

Data:

 

OpsPart
key-ID-ISSUE-POL-COT856-658-985-963-458
key-ID-ISSUE-POL968-548-785-9635
key-ID-ISSUE-POL-COT-DT4563-568-475-96242-544

 

Result:

 

OpsPart
POL963
POL9635
POL96242
13 REPLIES 13
Carolyn
12 - Quasar
12 - Quasar

This formula should work:

 

 

GetPart([Part], "-", REGEX_CountMatches(REGEX_Replace([Ops], "(.*)(POL).*", "$1$2"), "-"))

 

 

 

  1. REGEX_Replace([Ops], "(.*)(POL).*", "$1$2")
    1. Remove everything after "POL"
  2. REGEX_CountMatches([Output from #1], "-") )
    1. Count the number of "-". This will establish where "POL" is located. 
  3. GetPart([Part], "-", [Output from #2])
    1. In the Part # field, using a delimiter of "-", find what's in the location from #2
    2. Note, GetPart is 0 based. In your examples, "POL" is in the 4th spot, but in GetPart, to find the 4th spot, you would use "3". Since we're counting "-" in Step #2, this will work for the 0 based positioning

2024-08-28_12-44-11.png

 

Edit: 

 

Revised WF attached. I split up the 3 formula parts into separate formula spots. It'll be easier to see each step's output (vs the final combined formula, which is what's above)

 

2024-08-28_12-51-23.png

ChrisTX
16 - Nebula
16 - Nebula

One option attached

 

Screenshot 2024-08-28 144728.png

 

Chris

eaglepath
6 - Meteoroid

Forumla 3 and 4 (get part) is having an issue please check

cristiane_dsc
7 - Meteor

I have managed to get the desired output exactly as you wrote. I hope this is what you are looking for.

 

 

Captura de tela 2024-08-28 171404.jpg

 

eaglepath
6 - Meteoroid

Christiane_DSC  is it doing by the position or if the position changes it will pick this regardless?

binuacs
21 - Polaris

@eaglepath another method

image.png

Carolyn
12 - Quasar
12 - Quasar

@eaglepath - What error are you seeing with my formulas 3 and 4? It's working fine for me - happy to help troubleshoot your error if you show it!

flying008
15 - Aurora

Hi, @eaglepath 

 

There is a formula of dynamic position for you:   [ It can used in any version. ]

 

Spoiler
RegEx_Replace([Part], '^((?:[^-]*?\-){' + ToString(REGEX_CountMatches(Left([Ops], FindString([Ops], 'POL')),'-')) + '})(\d+?)(-.+|$)', '$2')

 

Yogesh1795
8 - Asteroid

You use simple use (\d+ - \d+ - \d+ -) (.*) - (.*) and get the $2 Value in regex replace tool.

 

Labels
Top Solution Authors