J'ai donc un script qui crée des tracés YbyX, fait un Tukey T-Test, puis crée un dt combiné avec les p-Values, puis sélectionne et exclut en fonction de la p-Value.
Je l'ai actuellement intégré dans une fonction dt << New Script() pour l'enregistrer dans la table de données source.
Je ne sais pas ce qui se passe mais quand j'arrive à la section pour sélectionner les p-Values, j'obtiens cette erreur :
dt1 << select where("p-Value"n > 0.05);Nom non résolu : p-Value à la ligne 1 dans l'accès ou l'évaluation de 'p-Value' , "p-Value"n /*###*/
La chose étrange est que lorsque je copie ceci dans une nouvelle fenêtre de script vide et que je l'exécute manuellement, cela fonctionne. Je ne sais pas ce qui se passe ni pourquoi. Des idées?
//need to force it to use a certain file name AND force SPC script to label dt appropriately
dtSPC = current data table();
dtSPC << set name( "SPC Data");
/*plotting a basic Fit YbyX just to get pValues. Formatting and style done on final plot*/
ow1 = Oneway(
Y( :MEAN ),
X( :TOOL_PROCESS_CHAMBER ),
By(Chart_ID,),
//All pairs Tukey HSD test
All Pairs(
1,
Confidence Quantile( 0 ),
Difference Matrix( 0 ),
LSD Threshold Matrix( 0 ),
Connecting Letters Report( 0 ),
Ordered Differences Report( 1 )
),
SendToReport(
//x-axis formatting
Dispatch(
{},
"2",
ScaleBox,
{Label Row(
{Label Orientation( "Angled" ), Lower Frame( 1 ),
Show Major Grid( 1 ), Tick Mark Style( "Long Divider" )}
)
}
),
//row legend by chamber
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Marker Size( 6 ), Marker Drawing Mode( "Normal" ),
Row Legend(
:Chamber,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)
}
)
)
);
/***********************************/
/***********************************/
// Create the combined data table of Summary Statistics
dt1 = Report( ow1[1] )["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt1 = current data table();
dt1 << set name( "pValue PairWise by Channel Tukey");
dt1:Chart_ID << Data type( Numeric ) << Set Modeling Type( Nominal );
/***********************************/
/**********************************/
//Screen and show only the Channel_ID's w/ a Tukey pair pVal<0.05
//exclude all high pVal rows, leaving only low pVal Channels. Does not work in reverse.
dt1 << select where("p-Value"n > 0.05);
dt1 << exclude;
dt1 << clear select;
//create a list of remaining Unique Chart_ID
summarize(dt1, uniqueVals=by(:Chart_ID));
//Convert to numeric
For( i = 1, i <= N Items(uniqueVals ), i++,
uniqueVals[i] = Num(uniqueVals[i] )
);
//extra, just to look at the data
//dtUnique = New Table( "uniqueVals less 0.05");
//dtUnique << New Column( "Chart_ID", Values(uniqueVals));
//select on SPC source data just the channels w/ low pVals
//need to choose SPC data table
dtSPC << clear select;
dtSPC << select where( contains( uniqueVals, :Chart_ID));
//invert and exclude, leaving only low pVal Chart_ID's
dtSPC << invert row selection << exclude;
dtSPC << clear select;
//close old stuff
close(dt1);
ow1 << close window;
Essayez de changer votre référence à la ligne 58 de
dt1 = Current Data Table();
pour
current data table( dt1 );
La différence est que dans la première instruction, vous définissez la valeur de dt1, quelle que soit la table de données actuelle, et JMP peut ne pas pointer vers la table que vous voulez.La deuxième instruction déclare à JMP de définir dt1 comme table de données actuelle.