cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JMP is taking Discovery online, April 16 and 18. Register today and join us for interactive sessions featuring popular presentation topics, networking, and discussions with the experts.
Jaz
Jaz
Level IV

Nested if Statement

 

Hi,

 

I just want to make sure that the following nested if statement will function correctly. At the moment I'm getting an error so I thought it might be to do with the way I constructed my nested if statement:

If (ismissing(dt:newColumnName[k]), For Each Row(If(dt:colAutomatically <= colManually[k] & dt:colAutomatically >= colManuallyStart[k], dt:newColumnName = colInstructions[k], dt: newColumnName = colInstructions[k-1] || " & " || colInstructions[k]));

The if statement conidtion is: 

(ismissing(dt:newColumnName[k])

If this is true I want the following statement to run: 

For Each Row(If(dt:colAutomatically <= colManually[k] & dt:colAutomatically >= colManuallyStart[k], dt:newColumnName = colInstructions[k]

If this is false I want the following statement to run: 

dt: newColumnName = colInstructions[k-1] || " & " || colInstructions[k]));

 

Any help would be appreciated. 

2 REPLIES 2

Re: Nested if Statement

The expression to be evaluated if the first argument evaluated to false was inside the For Each Row() function. This code structure should do what you want:

If( Is Missing( dt:newColumnName[k] ),
	For Each Row(
		If( dt:colAutomatically <= colManually[k] & dt:colAutomatically >= colManuallyStart[k],
			dt:newColumnName = colInstructions[k]
		)
	),
	dt:newColumnName = colInstructions[k - 1] || " & " || colInstructions[k]
);
Jaz
Jaz
Level IV

Re: Nested if Statement

Hi, 

 

Thanks for your reply but I want the following statement: 

dt:newColumnName = colInstructions[k - 1] || " & " || colInstructions[k]; 

to be inside the loop. 

 

Is there any way around that?