cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-416815%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EKontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416815%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EIch%20arbeite%20am%20Schreiben%20eines%20Skripts%20mit%20dem%20Endziel%2C%20ein%20Kontrolldiagramm%20mit%20zus%C3%A4tzlichen%20Referenzlinien%20basierend%20auf%20den%20hinzugef%C3%BCgten%2C%20von%20JMP%20berechneten%20Kontrollgrenzen%20zu%20erstellen.%20Ich%20glaube%2C%20ich%20muss%20die%20numerischen%20Werte%20daf%C3%BCr%20finden%3CSPAN%3E%20_KSigma%2C%20_Std%20Dev%2C%20_Mean%2C%20_LCL%20und%20_UCL.%20Von%20dort%20aus%20muss%20ich%20diese%20Werte%20verwenden%2C%20um%20eine%20weitere%20Referenzlinie%20zu%20berechnen%2C%20die%20wieder%20zum%20urspr%C3%BCnglichen%20Kontrolldiagramm%20hinzugef%C3%BCgt%20werden%20muss.Eine%20meiner%20gr%C3%B6%C3%9Ften%20H%C3%BCrden%20besteht%20darin%2C%20dass%20aus%20einer%20Datentabelle%20zwei%20Kontrolldiagramme%20generiert%20werden%2C%20da%20ich%20zwei%20verschiedene%20Parameter%20betrachte.%20Ich%20habe%20schon%20einiges%20ausprobiert%2C%20aber%20entweder%20funktionieren%20sie%20nicht%20wie%20vorgesehen%20oder%20ich%20wei%C3%9F%20nicht%2C%20wie%20ich%20sie%20richtig%20umsetzen%20soll.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CDIV%3E%3CSPAN%3E%3C%2FSPAN%3EEinige%20der%20Dinge%2C%20die%20ich%20bisher%20getan%20habe%20und%20die%20nur%20minimalen%20Erfolg%20hatten%2C%20sind%3A%3C%2FDIV%3E%3CDIV%3E%3CUL%3E%3CLI%3E%3CSPAN%3ESpeichern%20der%20Grenzwerte%20aus%20der%20Regelkarte%20in%20einer%20neuen%20Datentabelle.%20Das%20funktioniert%2C%20aber%20ich%20wei%C3%9F%20nicht%2C%20wie%20ich%20die%20unbenannten%20Tabellen%20speichern%20oder%20auf%20die%20Variablen%20zugreifen%20soll%2C%20die%20sich%20in%20den%20unbenannten%20Tabellen%20befinden.%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3ELassen%20Sie%20meine%20neue%20Referenzlinie%20eine%20Formel%20in%20meinem%20Diagrammskript%20sein.%20Dies%20funktioniert%20nur%20halbwegs%2C%20da%20die%20Berechnung%20f%C3%BCr%20die%20zweite%20Datentabelle%20korrekt%20erfolgt%2C%20f%C3%BCr%20die%20erste%20Datentabelle%20jedoch%20nicht%20initialisiert%20wird.%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CDIV%3E%3CSPAN%3EAndere%20Ideen%2C%20die%20ich%20hatte%20und%20bei%20denen%20ich%20nicht%20sicher%20bin%2C%20wie%20ich%20sie%20umsetzen%20soll%3A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CUL%3E%3CLI%3E%3CSPAN%3ESpeichern%20Sie%20die%20gew%C3%BCnschten%20Werte%20aus%20dem%20Kontrolldiagramm%20als%20Variablen%20zur%20Verwendung%20in%20Berechnungen.%20Auf%20diese%20Weise%20konnte%20ich%20das%20erste%20Kontrolldiagramm%20schlie%C3%9Fen%20und%20ein%20neues%20erstellen.%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3ESpeichern%20Sie%20die%20gew%C3%BCnschten%20Werte%20aus%20der%20Kontrollkarte%20in%20einer%20Matrix%20oder%20Liste%20und%20f%C3%BChren%20Sie%20von%20dort%20aus%20Berechnungen%20durch.%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3EBerechnen%20Sie%20die%20Kontrollgrenzen%20aus%20der%20Kontrollkarte%20%E2%80%9Emanuell%E2%80%9C%20in%20JMP%2C%20aber%20ich%20kenne%20die%20Formel%20nicht.%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EWenn%20jemand%20Skriptvorschl%C3%A4ge%20oder%20andere%20Ideen%20dazu%20hat%2C%20lassen%20Sie%20es%20mich%20bitte%20wissen.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EIch%20verwende%20JMP%2010%2C%20um%20IR-Diagramme%20zu%20erstellen%2C%20die%20die%20Kontrollgrenzen%20generieren.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-416815%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3EErweiterte%20statistische%20Modellierung%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EDatenmischung%20und%20-bereinigung%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMassenanpassung%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EQualit%C3%A4ts-%20und%20Verfahrenstechnik%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416990%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Kontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416990%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EVielen%20Dank%20f%C3%BCr%20die%20Hilfe%2C%20ich%20wei%C3%9F%20das%20wirklich%20zu%20sch%C3%A4tzen.%20Ich%20glaube%2C%20ich%20brauche%20fr%C3%BCher%20ein%20paar%20%C3%84nderungen%20in%20meinem%20Skript!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416983%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Kontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416983%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EDie%20Verweise%20auf%20die%20Datentabellen%20lauten%20%E2%80%9Edt%E2%80%9C%20und%20%E2%80%9EdtLimits%E2%80%9C.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Eclose(%20dt%2C%20nosave%20)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3Eschlie%C3%9Ft%20die%20Datentabelle%20mit%20dem%20Namen%20%E2%80%9EBig%20Class%E2%80%9C.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOder%20wenn%20Sie%20dieser%20Datentabelle%20eine%20neue%20Spalte%20hinzuf%C3%BCgen%20m%C3%BCssen%2C%20w%C3%A4re%20dies%20der%20Fall%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Edt%20%26lt%3B%26lt%3B%20new%20column(%22my%20column%22%2C%20formula(%3Aheight*%3Aweight)%3B%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3Eund%20wenn%20Sie%20auf%20die%20Grenzwerttabelle%20verweisen%20m%C3%B6chten%2C%20z.%20B.%20um%20den%20_std%20Dev-Wert%20f%C3%BCr%20die%20Spalte%20%3Aheight%20zu%20erhalten%2C%20k%C3%B6nnen%20Sie%20ihn%20mit%20abrufen%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Eheight_Std_Dev%20%3D%20dtLimits%3Bheight%5B4%5D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3Ewobei%20der%20_Std%20Dev-Wert%20in%20der%204.%20Zeile%20der%20H%C3%B6henspalte%20in%20der%20dtLimits-Datentabelle%20steht.%3C%2FP%3E%0A%3CP%3Eoder%20schicker%20werden%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Eheight_Std_dev%20%3D%20%3Aheight%5B(dtLimits%20%26lt%3B%26lt%3B%20get%20rows%20where(%3A_LimitsKey%20%3D%3D%20%22_Std%20Dev%22))%5B1%5D%5D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EScoping%20und%20Datentabellenreferenzierung%20sind%20im%20Scripting%20Guide%20dokumentiert.F%C3%BCr%20JMP%2010%20finden%20Sie%20es%20unter%3C%2FP%3E%0A%3CP%3EHilfe%3D%26gt%3BB%C3%BCcher%3D%26gt%3BSkripthandbuch%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416978%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Kontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416978%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EJa%2C%20damit%20kann%20ich%20zwei%20neue%20Datentabellen%20mit%20den%20Kontrollgrenzen%20darin%20erstellen.%20Ich%20kann%20jedoch%20nicht%20auf%20diese%20Datentabellen%20verweisen%20(oder%20wei%C3%9F%20nicht%2C%20wie%20ich%20das%20tun%20soll)%2C%20da%20sie%20keinen%20Titel%20haben%20und%20nicht%20gespeichert%20sind.%20Ich%20muss%20in%20der%20Lage%20sein%2C%20diese%20Datentabellen%20entweder%20mit%20einer%20Skriptzeile%20zu%20speichern%20oder%20mit%20einer%20Skriptzeile%20auf%20Daten%20in%20den%20nicht%20gespeicherten%20Tabellen%20zu%20verweisen.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416960%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Kontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416960%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EIch%20glaube%2C%20dass%20Sie%20dadurch%20einen%20%C3%9Cberblick%20%C3%BCber%20die%20Referenzierung%20der%20Datentabellen%20erhalten.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Enames%20default%20to%20here(1)%3B%0Adt%3Dopen(%22%24SAMPLE_DATA%5Cbig%20class.jmp%22)%3B%0A%0Acc%20%3D%20Control%20Chart(%0A%20Group%20Size(1)%2C%0A%20KSigma(3)%2C%0A%20Chart%20Col(%3Aheight%2C%20Individual%20Measurement%2C%20Moving%20Range)%2C%0A%20Chart%20Col(%3Aweight%2C%20Individual%20Measurement%2C%20Moving%20Range)%2C%0A%20SendToReport(%0A%20%20Dispatch(%0A%20%20%20%7B%22Individual%20Measurement%20of%20height%22%7D%2C%0A%20%20%20%22IR%20Chart%20of%20IM%22%2C%0A%20%20%20FrameBox(2)%2C%0A%20%20%20%7BFrame%20Size(68%2C%20208)%7D%0A%20%20)%2C%0A%20%20Dispatch(%0A%20%20%20%7B%22Moving%20Range%20of%20height%22%7D%2C%0A%20%20%20%22IR%20Chart%20of%20MR%22%2C%0A%20%20%20FrameBox(2)%2C%0A%20%20%20%7BFrame%20Size(68%2C%20208)%7D%0A%20%20)%0A%20)%0A)%3B%0A%0AdtLimits%20%3D%20cc%20%26lt%3B%26lt%3B%20in%20new%20table%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416951%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Kontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416951%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EIch%20verwende%20JMP%2010%2C%20um%20IR-Diagramme%20zu%20erstellen%2C%20die%20die%20Kontrollgrenzen%20generieren.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416920%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Kontrollgrenzwerte%20sp%C3%A4ter%20im%20Skript%20verwenden%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416920%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EIch%20denke%2C%20es%20wird%20anderen%20helfen%2C%20gute%20Vorschl%C3%A4ge%20zu%20machen%2C%20wenn%20Sie%20uns%20bitte%20mitteilen%2C%20welche%20JMP-Plattform%20Sie%20zum%20Generieren%20der%20Kontrollgrenzen%20verwenden%20werden.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
J-Leonard
Level I

Using control limit values later in script

I am working on writing a script with an end goal of generating a control chart with additional reference lines based on the JMP-calculated control limits added to it. What I believe I need to do is find the numeric values for  _KSigma, _Std Dev, _Mean, _LCL, and _UCL. From there, I need to use these values to calculate another reference line that needs to be added back to the original control chart. One of the biggest hurdles I have is that there are two control charts generated from the one data table since I am looking at two different parameters. I have tried quite a few different things, but either they don't work as intended or I don't know how to execute them properly. 

 

 Some of the things I have done so far that were met with minimal success are:
  • Saving the limits from the control chart into a new data table. This works, but I don't know how to save the untitled tables or access the variables that are in the untitled tables. 
  • Have my new reference line be a formula in my chart script. This only halfway works since it'll calculate correctly for the second data table but is not initialized for the first data table. 
Other ideas I had that I am not sure how to execute:
  • Save the desired values from the control chart as variables to use in calculations. That way I could close the first control chart and create a new one.
  • Save the desired values from the control chart to a matrix or list and do calculations from there.
  • Calculate the control limits from the control chart "manually" in JMP, but I don't know the formula.

 

If anyone has any scripting suggestions or other ideas on how to do this, please let me know.

 

I am using JMP 10 to create IR charts that generate the control limits. 

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: Using control limit values later in script

The references to the data tables are "dt" and "dtLimits".

close( dt, nosave );

will close the data table called Big Class

 

Or if you need to add a new column to that data table it would be

dt << new column("my column", formula(:height*:weight);;

and if you want to reference the limits table, such as to get the _std Dev value for the :height column, you can get it with

height_Std_Dev = dtLimits;height[4];

where the _Std Dev value in in the 4th row of the height column in the dtLimits data table.

or getting fancier

height_Std_dev = :height[(dtLimits << get rows where(:_LimitsKey == "_Std Dev"))[1]];

 

Scoping and data table referencing are documented in the Scripting Guide.  For JMP 10 it is found under

     Help=>Books=>Scripting Guide 

Jim

View solution in original post

6 REPLIES 6
ian_jmp
Level X

Re: Using control limit values later in script

I think it will help others to make good suggestions if you are able to share which JMP Platform you will be using to generate the control limits, please.

J-Leonard
Level I

Re: Using control limit values later in script

I am using JMP 10 to create IR charts that generate the control limits. 

txnelson
Super User

Re: Using control limit values later in script

I believe this will give you a leg up on how to reference the data tables.

names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");

cc = Control Chart(
	Group Size(1),
	KSigma(3),
	Chart Col(:height, Individual Measurement, Moving Range),
	Chart Col(:weight, Individual Measurement, Moving Range),
	SendToReport(
		Dispatch(
			{"Individual Measurement of height"},
			"IR Chart of IM",
			FrameBox(2),
			{Frame Size(68, 208)}
		),
		Dispatch(
			{"Moving Range of height"},
			"IR Chart of MR",
			FrameBox(2),
			{Frame Size(68, 208)}
		)
	)
);

dtLimits = cc << in new table;
Jim
J-Leonard
Level I

Re: Using control limit values later in script

Yes, that lets me create two new data tables with the control limits in them. However, I can't (or don't know how to) reference those data tables since they are untitled and unsaved. I need to be able to either save those data tables with a line of script or reference data in the unsaved tables with a line of script. 

txnelson
Super User

Re: Using control limit values later in script

The references to the data tables are "dt" and "dtLimits".

close( dt, nosave );

will close the data table called Big Class

 

Or if you need to add a new column to that data table it would be

dt << new column("my column", formula(:height*:weight);;

and if you want to reference the limits table, such as to get the _std Dev value for the :height column, you can get it with

height_Std_Dev = dtLimits;height[4];

where the _Std Dev value in in the 4th row of the height column in the dtLimits data table.

or getting fancier

height_Std_dev = :height[(dtLimits << get rows where(:_LimitsKey == "_Std Dev"))[1]];

 

Scoping and data table referencing are documented in the Scripting Guide.  For JMP 10 it is found under

     Help=>Books=>Scripting Guide 

Jim
J-Leonard
Level I

Re: Using control limit values later in script

Thank you for the help, I really appreciate it. I think I need a few changes earlier in my script!

Recommended Articles