BookmarkSubscribeSubscribe to RSS Feed

Re: Nested if Statement

Jaz

Frequent Contributor

Joined:

Jun 11, 2018

 

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
Highlighted
markbailey

Staff

Joined:

Jun 23, 2011

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]
);
Learn it once, use it forever!
Jaz

Frequent Contributor

Joined:

Jun 11, 2018

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?