cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. EST on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
jearls11
Level III

Delimit text and create new row

hey folks,

I am using a previous example from the forum.

My code works for the first part I am doing.

When I add the value into the new row I want to increment machine by 1. 

So below  would like ABC_RC1,RC2,RC3... not sure how to do this part.

jearls11_4-1670857979242.png

 

machineoperationrecipenameData_Column
ABC_RC123456TEST[0.941279597;0.941279597;0.947636808]

 

 

Names Default To Here( 1 );
dt = Data Table( "Untitled 166");
dtOut = New Table( "Final Output1",

New Column( "machine", character ),
New Column( "operation", numeric ),
New Column( "recipename", character ),
New Column( "Data_Column", character ),



New Column( "Data_1", numeric ),



);
For( i = 1, i <= N Rows( dt ), i++,
	If( i == 1,
		theRow = 0;
		theRow = N Rows( dtOut );
	);
	If( dt:Data_Column[i] != "X",
		dtOut << Add Rows( 3 );
		For( k = 1, k <= 3, k++,
			theRow++;
			dtOut:machine[theRow] = dt:machine[i];
			dtOut:operation[theRow] = dt:operation[i];
			dtOut:recipename[theRow] = dt:recipename[i];
			dtOut:Data_Column[theRow] = dt:Data_Column[i];
			
			dtOut:Data_1[theRow] = Substr( Word( k, dt:Data_Column[i], ";" ), 2, 7 );
		
			
	
		);
	);
);

 



 

3 REPLIES 3
jearls11
Level III

Re: Delimit text and create new row

Could I add a new column and do a 1++ and the then concatenate?

jearls11
Level III

Re: Delimit text and create new row

Sorry, the concat wont work as it foes 1,2,3,4,5.... i need, 1,2,3,1,2,3.
Can I do this?
dtOut:RC[theRow] = Sequence( 1, 2, 1, 1 );

 

or just create a new column and do a sequence?

 

Re: Delimit text and create new row

I have a feeling I'm not understanding what you're needing, but:

if the number you're adding to machine is the sequence of 1, 2, 3 repeated, would the modulo() function work for your needs? Something like the following? 

"ABC_RC" || Char( Modulo( Row(), 3 ) + 1 )

Recommended Articles