キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
言語を選択 翻訳バーを非表示
jerryspilTC
Level III

What's wrong with below code

I've got errors on below code:

dt << New Column( "Stage",
	If( Formula( Substr( :Column 9, 1, 2 ) ) == "CP",
		Formula( Left( :Column 9, 3 ) ),
		" "
	)
);

 

I want to add a new Col named "Stage" besides a raw Column 9, if starts with CP get the 1st 3 letters else blank, but I've got errors 

 

Unexpected end of input. Perhaps there is a missing "," or ")".
Trying to parse arguments of function "New Column".
Line 207 Column 3: ►

 

I suspect I use Formula in wrong way, might need help here :)

 

Column 9  Stage
NG  
CP2-NAVI12 CP2
CP1-NAVI12 CP1
NG  
CP2-NAVI12 CP2
jerryspilTC
1 件の受理された解決策

受理された解決策
txnelson
Super User

Re: What's wrong with below code

The issue with your code is that you are not understanding the Formula element from the New Column function.  You seem to be approaching the problem thinking that each segment within your line of script that has a function, such as Substr() or Left() needs to be told that it is a formula.  Actually, the entire line of jsl:

If( Substr( :Column 9, 1, 2 ) == "CP", Left( :Column 9, 3 ), "" )

is what needs to be declared as the formula for the new column.  Thus the New Column() function needs to be specified as:

dt << New Column( "Stage",
		Character,
		"Nominal",
		Formula( If( Substr( :Column 9, 1, 2 ) == "CP", Left( :Column 9, 3 ), "" ) )
	);
Jim

元の投稿で解決策を見る

2件の返信2
txnelson
Super User

Re: What's wrong with below code

The issue with your code is that you are not understanding the Formula element from the New Column function.  You seem to be approaching the problem thinking that each segment within your line of script that has a function, such as Substr() or Left() needs to be told that it is a formula.  Actually, the entire line of jsl:

If( Substr( :Column 9, 1, 2 ) == "CP", Left( :Column 9, 3 ), "" )

is what needs to be declared as the formula for the new column.  Thus the New Column() function needs to be specified as:

dt << New Column( "Stage",
		Character,
		"Nominal",
		Formula( If( Substr( :Column 9, 1, 2 ) == "CP", Left( :Column 9, 3 ), "" ) )
	);
Jim
jerryspilTC
Level III

Re: What's wrong with below code

Thanks Jim, Got it :)
jerryspilTC

おすすめの記事