Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.
Free Trial

Alteryx Designer Desktop Discussions

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

Need to organize noin delimited no header flat txt file

rvandel3
8 - Asteroid

Hello I'm very new to Alteryx. and need a little guaidance

I'm trying to make sense of the data within a txt file, its kind of unorganized. Trying to organize our Alteryx server performance data

- 
Controller maskedservername000000 
		16% avg, cpu1 25%, cpu2 15%, cpu3 12%, cpu4 13%	289:40879
	11:41:02 07/08/2020	good	23288GDIAAlteryx	23288GDIA-
- 
Controller maskedservername000000 
		23% virtual 
used, 56194MB virtual 
free, 3.44668 pages/sec	288:40880	23	56194	3.4466820905751034	23	56194	n/a	n/a
	11:40:58 07/08/2020	good	23288GDIAAlteryx	23288GDIA-
- 
Worker maskedservername000000 
		1% avg, cpu1 0%, cpu2 0%, cpu3 1%, cpu4 0%, cpu5 1%, cpu6 1%, cpu7 0%, cpu8 5%, cpu9 3%, cpu10 16%, cpu11 0%, cpu12 0%, cpu13 0%, cpu14 0%, cpu15 0%, cpu16 0%	284:40892
	11:40:57 07/08/2020	good	23288GDIAAlteryx	23288GDIA-

I was thinking of using multirow formula if active row contains "worker" concate the line below,but i cant get it right. thing is its wants to use fields names, there is only one field name since its a flat unstructured file , if it had column names for everything this would be a little easier

I want to concat rows that startwith either "n% avg" or "n% virtual" rows with row startswith controller* or worker* also concat row  "xx:xx:xx dd/dd/dddd"

Can someone point me in the right direction for what I would want to use? There are so many options within Alteryx, it be quicker to ask for the best method to accomplish this?

Hopefully not tall of an order
Thanks all,

15 REPLIES 15
wwatson
12 - Quasar

Correction:

 

The multi-row formula is creating the values in the block column.

if we look at record 1 Field_1 = "-" so if [Field_1]="-" then [Row-1:block]  set the block column to 0 as that is the default for row-1 for the first row.

Now row 2 Field1 in row 1 ="-" so elseif [Row-1:Field_1]="-" then [Row-1:block]+1 sets block to row 1 block +1 (0+1=1)

Now row 3 Field1 in row 2 !="-" so else [Row-1:block] sets block to the row 2 block value (1)

Now row 4 Field1 in row 3 !="-" so else [Row-1:block] sets block to the row 3 block value (1)

 

Now row 5 Field_1 = "-" so if [Field_1]="-" then [Row-1:block]  sets block to the row 4 block value (1)

Now row 6 Field1 in row 5 ="-" so elseif [Row-1:Field_1]="-" then [Row-1:block]+1 sets block to row 5 block +1 (1+1=2)

rvandel3
8 - Asteroid

Hi @wwatson 

 

I was thinking that same exact thing , however when i run this?

It sets the entire thing to block = 0 

I cant understand why because not every field_1 ="-"

 

so for the filter, there are 100% no false and 100% everything is true

If I say in the multi row 

 

[Field_1]!="-"
Then everything is false and there are no trues, for some reason it will not honor if = "-" and i cant figure this simple thing out lol

 

I took a screen shot but just cut out the server names to CYA 

 

rvandel3_0-1594665933981.png

 

wwatson
12 - Quasar

Can you post your actual input file? That would help me check how it looks, there may be another character in the fields with the -.

 

rvandel3
8 - Asteroid

I'll do something even better

I'll PM you 

wwatson
12 - Quasar

Actually if you changed the formula to contains instead of = "-" that might do it:

 

if contains([Field_1],"-") then [Row-1:block]
elseif contains([Row-1:Field_1],"-") then [Row-1:block]+1
else [Row-1:block] endif

rvandel3
8 - Asteroid

Everyone , 

I had white spaces in my data and @wwatson discovered this and has sent me an updated multi row formula that account for this. This has resolved my issues

if contains([Field_1],"-") then [Row-1:block]
elseif contains([Row-1:Field_1],"-") then [Row-1:block]+1
else [Row-1:block] endif

Labels
Top Solution Authors