cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
%3CLINGO-SUB%20id%3D%22lingo-sub-480402%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EScript%20JMP%20qui%20modifie%20les%20propri%C3%A9t%C3%A9s%20USL%20et%20LSL%20des%20colonnes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-480402%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EJ'ai%20une%20fonction%20de%20script%20JMP%20qui%20obtient%20un%20ensemble%20de%20limites%20de%20sp%C3%A9cifications%20%C3%A0%20partir%20d'un%20fichier%20texte%20stock%C3%A9%20dans%20la%20variable%20%22Ntwk%20Osnr%20Spec%20Table%20Filename%22.%20J'essaie%20de%20modifier%20les%20propri%C3%A9t%C3%A9s%20des%20colonnes%20USL%20et%20LSL%20de%20la%20colonne%20%22PctDiff_ModBer_q_calcBer%20dans%20la%20table%20de%20donn%C3%A9es%20%22Ntwk%20Osnr%20Data%20Table%22.%20Mais%20lorsque%20j'ex%C3%A9cute%20les%20commandes%20de%20script%20JMP%20suivantes%2C%20je%20n'obtiens%20pas%20d'erreur%20de%20script%20mais%20les%20propri%C3%A9t%C3%A9s%20des%20colonnes%20USL%20et%20LSL%20ne%20sont%20pas%20mises%20%C3%A0%20jour.%20La%20limite%20de%20sp%C3%A9cification%20obtenue%20%C3%A0%20partir%20de%20la%20limite%20de%20sp%C3%A9cification%20est%20de%201%2C7.%20Lorsque%20je%20parcoure%20les%20lignes%20suivantes%2C%20la%20valeur%20de%201%2C7%20est%20mise%20%C3%A0%20jour%20dans%20la%20variable%20Speclimit%20mais%20les%20propri%C3%A9t%C3%A9s%20des%20colonnes%20USL%20et%20LSL%20ne%20sont%20pas%20mises%20%C3%A0%20jour.%20Si%20je%20r%C3%A8gle%20la%20variable%20Speclimit%20sur%20une%20constante%20de%201%2C7%2C%20les%20propri%C3%A9t%C3%A9s%20des%20colonnes%20USL%20et%20LSL%20sont%20respectivement%20d%C3%A9finies%20sur%201%2C7%20et%20-1%2C7.%20Le%20probl%C3%A8me%20doit%20donc%20%C3%AAtre%20d'obtenir%20la%20valeur%20du%20fichier%20texte%2C%20mais%20je%20peux%20comprendre%20le%20probl%C3%A8me.%20Quelqu'un%20peut-il%20me%20faire%20savoir%20quelle%20est%20la%20solution%20pour%20obtenir%20la%20limite%20de%20sp%C3%A9cification%20%C3%A0%20partir%20d'un%20fichier%20texte%20et%20lui%20faire%20mettre%20%C3%A0%20jour%20les%20propri%C3%A9t%C3%A9s%20de%20la%20colonne.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EInclude(%20%22%24CommonScriptPath%2FFunction%20-%20Obtain%20Spec%20Limit%20Value.jsl%22%20)%3B%0ASpeclimit%20%3D%20ObtainSpecLimit(%0A%20Ntwk%20Osnr%20Spec%20Table%20Filename%2C%20DeviceType%2C%20%22*%22%2C%20%22*%22%2C%20%22ber_diffQcalc%22%0A)%3B%0A%0Adt%20%3D%20Open(%20Ntwk%20Osnr%20Data%20Table%20Filename%2C%20invisible%20)%3B%0AData%20Table(%20dt%20)%3APctDiff_ModBer_q_calcBer%20%26lt%3B%26lt%3B%20Set%20Property(%0A%20%22Spec%20Limits%22%2C%0A%20%7BLSL(%20(Speclimit%20*%20(-1))%20)%2C%20USL(%20Speclimit%20)%2C%20Target(%200%20)%2C%20Show%20Limits(%201%20)%7D%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-480402%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3EMod%C3%A9lisation%20statistique%20avanc%C3%A9e%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EAutomatisation%20et%20scripts%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%C3%89tudes%20de%20consommation%20et%20de%20march%C3%A9%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EM%C3%A9lange%20et%20nettoyage%20des%20donn%C3%A9es%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EPersonnalisation%20de%20masse%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-480422%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Script%20JMP%20qui%20modifie%20les%20propri%C3%A9t%C3%A9s%20des%20colonnes%20USL%20et%20LSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-480422%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3ELes%20calculs%20que%20vous%20sp%C3%A9cifiez%20dans%20une%20liste%20JMP%20ne%20seront%20pas%20%C3%A9valu%C3%A9s%20avant%20leur%20ex%C3%A9cution.Par%20cons%C3%A9quent%2C%20l'instruction%20doit%20%C3%AAtre%20enti%C3%A8rement%20analys%C3%A9e%20et%20%C3%A9valu%C3%A9e%20avant%20que%20la%20fonction%20de%20substitution%20n'accomplisse%20cela.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EInclude(%20%22%24CommonScriptPath%2FFunction%20-%20Obtain%20Spec%20Limit%20Value.jsl%22%20)%3B%0ASpeclimit%20%3D%20ObtainSpecLimit(%0A%20Ntwk%20Osnr%20Spec%20Table%20Filename%2C%20DeviceType%2C%20%22*%22%2C%20%22*%22%2C%20%22ber_diffQcalc%22%0A)%3B%0A%0Adt%20%3D%20Open(%20Ntwk%20Osnr%20Data%20Table%20Filename%2C%20invisible%20)%3B%0A%0AEval(%0A%20Substitute(%0A%20%20%20Expr(%0A%20%20%20%20Data%20Table(%20dt%20)%3APctDiff_ModBer_q_calcBer%20%26lt%3B%26lt%3B%0A%20%20%20%20Set%20Property(%0A%20%20%20%20%20%22Spec%20Limits%22%2C%0A%20%20%20%20%20%7BLSL(%20__LSL__%20)%2C%20USL(%20__USL__%20)%2C%20Target(%200%20)%2C%20Show%20Limits(%201%20)%7D%0A%20%20%20%20)%0A%20%20%20)%2C%0A%20%20Expr(%20__LSL__%20)%2C%20Speclimit%20*%20(-1)%2C%0A%20%20Expr(%20__USL__%20)%2C%20Speclimit%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-480421%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Script%20JMP%20qui%20modifie%20les%20propri%C3%A9t%C3%A9s%20des%20colonnes%20USL%20et%20LSL%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-480421%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EAssurez-vous%20que%20les%20valeurs%20sont%20num%C3%A9riques%20et%20essayez%20d'utiliser%20Eval(EvalExpr())%20et%20Expr()%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EInclude(%22%24CommonScriptPath%2FFunction%20-%20Obtain%20Spec%20Limit%20Value.jsl%22)%3B%0ASpeclimit%20%3D%20ObtainSpecLimit(Ntwk%20Osnr%20Spec%20Table%20Filename%2C%20DeviceType%2C%20%22*%22%2C%20%22*%22%2C%20%22ber_diffQcalc%22)%3B%0A%0Adt%20%3D%20Open(Ntwk%20Osnr%20Data%20Table%20Filename%2C%20invisible)%3B%0AEval(%0A%20Eval%20Expr(%0A%20%20Data%20Table(dt)%3APctDiff_ModBer_q_calcBer%20%26lt%3B%26lt%3B%20Set%20Property(%0A%20%20%20%22Spec%20Limits%22%2C%0A%20%20%20%7BLSL(Expr(Speclimit%20*%20(-1)))%2C%20USL(Expr(Speclimit))%2C%20Target(0)%2C%20Show%20Limits(1)%7D%0A%20%20)%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJSL-Cookbook-Archived%2FInsert-one-expression-into-another-using-Eval-Insert-Eval-Expr%2Fm-p%2F48998%23U48998%22%20class%3D%22lia-mention-container-editor-message%20lia-img-icon-tkb-thread%20lia-fa-icon%20lia-fa-tkb%20lia-fa-thread%20lia-fa%22%20target%3D%22_blank%22%3EIns%C3%A9rez%20une%20expression%20dans%20une%20autre%20%C3%A0%20l'aide%20d'Eval%20Insert%2C%20Eval%20Expr%2C%20Parse%20et%20Substitute%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
kprentiss
Level I

JMP Script that changes the column USL and LSL properties

I have a JMP Script Function that obtains a set of spec limits from a text file that is stored within the "Ntwk Osnr Spec Table Filename" variable. I am trying to change the USL and LSL column properties of the "PctDiff_ModBer_q_calcBer column within the "Ntwk Osnr Data Table" data table. But when I run the following JMP script commands I do not get a scripting error but the USL and LSL column properties are not updated. The Spec Limit that is obtained from the spec limit is 1.7. When I step thru the following lines the value of 1.7 is updated within the Speclimit variable but the USL  and LSL Column Properties are not updated. If I set the Speclimit variable to a constant 1.7 then the USL and LSL Column Properties are set to 1.7 and -1.7 respectively. So the issue must be obtaining the value from the text file, but I can figure out the issue. Can some one let me know what the solution is to obtain the spec limit from a text file and have it update the column properties.

 

Include( "$CommonScriptPath/Function - Obtain Spec Limit Value.jsl" );
Speclimit = ObtainSpecLimit(
	Ntwk Osnr Spec Table Filename, DeviceType, "*", "*", "ber_diffQcalc"
);

dt = Open( Ntwk Osnr Data Table Filename, invisible );
Data Table( dt ):PctDiff_ModBer_q_calcBer << Set Property(
	"Spec Limits",
	{LSL( (Speclimit * (-1)) ), USL( Speclimit ), Target( 0 ), Show Limits( 1 )}
);
2 REPLIES 2
jthi
Super User

Re: JMP Script that changes the column USL and LSL properties

Make sure the values are numeric and try using Eval(EvalExpr()) and Expr()

Include("$CommonScriptPath/Function - Obtain Spec Limit Value.jsl");
Speclimit = ObtainSpecLimit(Ntwk Osnr Spec Table Filename, DeviceType, "*", "*", "ber_diffQcalc");

dt = Open(Ntwk Osnr Data Table Filename, invisible);
Eval(
	Eval Expr(
		Data Table(dt):PctDiff_ModBer_q_calcBer << Set Property(
			"Spec Limits",
			{LSL(Expr(Speclimit * (-1))), USL(Expr(Speclimit)), Target(0), Show Limits(1)}
		)
	)
);

Insert one expression into another using Eval Insert, Eval Expr, Parse, and Substitute 

-Jarmo
txnelson
Super User

Re: JMP Script that changes the column USL and LSL properties

The calculations you are specifying within a JMP List, will not be evaluated prior to execution.  Therefore, the statement must be fully parsed and evaluated before  The Substitution function will accomplish that

Include( "$CommonScriptPath/Function - Obtain Spec Limit Value.jsl" );
Speclimit = ObtainSpecLimit(
	Ntwk Osnr Spec Table Filename, DeviceType, "*", "*", "ber_diffQcalc"
);

dt = Open( Ntwk Osnr Data Table Filename, invisible );

Eval(
	Substitute(
			Expr(
				Data Table( dt ):PctDiff_ModBer_q_calcBer <<
				Set Property(
					"Spec Limits",
					{LSL( __LSL__ ), USL( __USL__ ), Target( 0 ), Show Limits( 1 )}
				)
			),
		Expr( __LSL__ ), Speclimit * (-1),
		Expr( __USL__ ), Speclimit
	)
);

 

Jim