Carte de contrôle - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesSalut à tous
J'ai reconstitué le code ci-dessous et il crée les graphiques de contrôle et fait apparaître les limites, mais ne les applique pas réellement? Les cartes de contrôle ne semblent pas non plus pouvoir sauvegarder le tableau de données à moins que je ne l'exécute dans une nouvelle fenêtre?
Je comprends qu'il y a une nouvelle fonction de script mais je ne sais pas comment elle s'applique à mon code? Appréciez toute l'aide fournie!
Names Default To Here( 1 );
dt = Current Data Table();
cc = dt << Get Column Names( numeric, "Continuous" );
nw1 = New Window( "Control Charts" );
For( i = 1, i <= N Items( cc ), i++,
Current Data Table( dt );
obj = dt<< Control Chart(
Sample Label( :YYYYMM ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( As Column( cc[i] ) ),
Chart Type(Individual Measurement) ,
Get Limits (
"C:\Users\Limitsw.jmp"
));
nw1 << append( Report( obj ) );
obj << Close Window;
);
AnalytiqueTableau de donnéesScriptingRe: Control Chart - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesil est difficile d'aider sans plus d'informations comme par exemple le tableau des limites auquel vous vous référez ou le nombre d'étiquettes smaple que vous utilisez car elles dépendent probablement de la table que vous utilisez. Mais si nous voulions créer une telle table et avoir trop d'étiquettes ou trop peu, le tableau de contrôle pourrait être complètement inutile et nous pouvons essayer pendant des siècles de comprendre ce que vous vivez. désolé si cela semble diriger:)
Re: Control Chart - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesC'est ok, je viens littéralement de résoudre ce problème.
Je me demande si tu peux aider avec autre chose
j'utilise
obj << Save Script to Data Table;
Mais j'ai 40 cartes de contrôle donc je veux vraiment les combiner et les sauvegarder?
Merci beaucoup
Re: Control Chart - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesJe vois deux façons d'effectuer le résultat souhaité, en supposant à partir de votre code que les cartes de contrôle proviennent toutes de colonnes de la même table de données car vous vous référez toujours à la table de données actuelle (si tel est le cas, vous pouvez également mettre cela en dehors de la boucle.
- Empilez les colonnes d'intérêt et utilisez une variable par de la colonne d'étiquette (les noms de colonne réels de la table de données d'origine) pour créer toutes les cartes de contrôle dans un seul windo. Ensuite, vous pouvez enregistrer le scritp Bygroup dans la table de données
- conservez votre boucle for, enregistrez le script dans la fenêtre de script à la place dans le tableau de données. Cela devrait écrire tous les scripts entre eux. Enregistrez ensuite le contenu de la fenêtre de script dans votre table de données.
Quelques idées:)
Re: Control Chart - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesOption 1 - Je ne suis pas familier avec et ne saurais pas comment le créer correctement.
Option 2 - J'ai essayé cela et bien qu'il le présente dans une fenêtre de script, je ne vois pas comment je l'enregistrerais dans ma table de données. Je recherche 40 fenêtres distinctes de cartes de contrôle pour devenir 1 fenêtre de toutes les cartes de contrôle. Le code ci-dessous fait le travail de 40 fenêtres.
Names Default To Here( 1 );
dt = Current Data Table();
cc = dt << Get Column Names( numeric, "Continuous" );
For( i = 1, i <= N Items( cc ), i++,
obj = dt << Control Chart(
Sample Label( :Month Alerted),
Chart Col( cc[i], Individual Measurement ),
Get Limits( "C:\Users\Limits.jmp" ),
);
obj << Save Script to Data Table;
);
Merci beaucoup pour votre soutien
Re: Control Chart - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesVoici une simple modification de votre script qui est un générateur de code qui crée le code requis pour générer toutes les cartes de contrôle et pour enregistrer ce code dans la table de données
Names Default To Here( 1 );
dt = current data table();
cc = dt << Get Column Names( numeric, "Continuous" );
// Create a string variable that contains all of the JSL required to create
// and save the control charts to the data table
theExpr = "dt << new script(\!"Control Charts\!", nw=New window(\!"The Control Charts\!"";
For( i = 1, i <= N Items( cc ), i++,
obj = dt << Control Chart(
invisible,
Sample Label( :Month Alerted ),
Chart Col( cc[i], Individual Measurement ),
Get Limits( "C:\Users\Limits.jmp" ),
);
theScript = char(obj << get script);
theExpr = theExpr || "," || theScript;
);
theExpr = theExpr || "));";
// Run the created string variable
eval(parse(theExpr));
Re: Control Chart - Obtient des limites mais ne les applique pas également, les cartes de contrôle ne peuvent pas être enregistrées dans le tableau de donnéesC'est excellent, merci!