<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
Une sorte de débutant avec JMP Scripting. J'apprécie toute aide que je peux obtenir.
Voici les étapes que j'essaie de réaliser. J’ouvre d’abord le fichier Excel et, dans ce fichier Excel, je sélectionne une feuille.Ensuite, j'applique quelques instructions SQL pour obtenir un sous-ensemble des données de la feuille et je nomme cet ensemble de données.
comme Sous-ensemble d’adhésion.Vient ensuite la création d'un journal dans lequel j'écris tous les points de contrôle qui ont échoué. Il s’agit ensuite d’établir une carte de contrôle basée sur la colonne CPASU finale. C'est ici que commence mon problème.
Je souhaite que la carte de contrôle soit dessinée uniquement si les données ont échoué à l'un des tests. En d'autres termes, si les points de données réussissent les sept tests de limites de contrôle, je ne veux pas que JMP affiche ce graphique. Il ne devrait afficher le graphique que lorsque quelque chose est hors limites.Ceci est particulièrement utile lorsque j'ai plus de 50 graphiques, ce qui est le cas ici, mais que je n'ai pas inclus tous les 49 autres codes de graphiques.
Faire cela garantirait que je me concentre uniquement sur la correction des choses qui ne vont pas plutôt que sur l'examen de tous les graphiques.
et déterminer quels points de données des graphiques ont mal fonctionné.Enfin, ce que je fais, c'est enregistrer ces graphiques sous forme de fichier HTML dans un dossier afin de pouvoir écrire un script en VBA qui publierait ensuite ces images sur le site sharepoint.Cette étape fonctionne bien mais je suis à court d'idées avec l'étape ci-dessus.
Mon code suit :
Ouvrir la base de données ("DSN=Fichiers Excel;DBQ=C:\Users\XXXXX\Documents\XXXX\JMP Analysis\XXXXX.xlsm;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;", "SELECT * FROM `'CPASU $'`","CPASU$");
//Créer le sous-ensemble
(Tableau de données( "CPASU by queue$" ) << Select Where(AND(FWEEK>=201201,FWEEK!=201248, FWEEK!=201247, FWEEK!=201243, Adherence>0))<< Subset( Linked ) ;
Tableau de données actuel( Tableau de données( "Sous-ensemble d'adhésion $" ) ));
// Effacement des colonnes de journal et de configuration pour le fichier csv
Effacer le journal ();
Write("Nom de la file d'attente, Test, Colonne, Point de données\!N");
//Début des cartes de contrôle
Nouvelle fenêtre( "Sous-ensemble du CPASU",
Zone de liste V (
Carte de contrôle (exemple d'étiquette ( : FWEEK ), (script d'alarme (Write ("NA Standard", "qc_test,", ", qc_col, qc_sample,"\!N")),
Taille du groupe( 1 ),
KSigma( 3 ),}
Chart Col( :CPASU final, mesure individuelle (zones d'ombre (1), test 1(1)) ),Où( :Nom de la file d'attente == "NA Standard" ),),);
Savelog("C:\Utilisateurs\XXXX\Documents\XXXX\JMP Analysis\JMPlogs.csv");
Window("Sous-ensemble de CPASU") << SaveHTML ("C:\Users\XXX\Documents\XXX\JMP Analysis\HTML\CPASU.html");
Veuillez ignorer s'il y a une inadéquation dans le nombre de parenthèses ouvrantes et fermantes.
Salut Ashwin,
Il existe plusieurs façons de procéder, mais je pense que la plus simple serait de créer un script pour vos cartes de contrôle telles quelles, puis de demander à JMP d'ouvrir le fichier journal que vous avez écrit sous forme de tableau. À partir de là, vous pouvez procéder de plusieurs manières, mais essentiellement, vous disposez maintenant d'un tableau dans JMP qui montre quelles baies ont des échecs. Vous pouvez charger une liste distincte de valeurs de "Nom de la file d'attente" dans une variable de liste et faire boucler cette boucle dans un deuxième script comme vous l'avez fait... en remplaçant essentiellement Where(:Queue Name = "NA Standards") par Where(:Queue Name = Liste) de cette façon, il ne scriptera que les graphiques qui ont échoué. Donc votre 2ème section ressemblerait à quelque chose comme :
Zone de liste V (
Pour( i= 1, i <= N Items(LISTNAME), i++,
Carte de contrôle(Exemple d'étiquette( :FWEEK ),(Script d'alarme(Écrire(char(LISTNAME ,",",qc_test,",",qc_col,qc_sample,"\!N")),
Taille du groupe (1),
KSigma( 3 ),
Graphique Col( : CPASU final, mesure individuelle (zones d'ombre (1), test 1 (1))), où ( : nom de la file d'attente == LISTNAME ),)));
Remplacez naturellement le LISTNAME par le nom que vous souhaitez donner à votre liste. Je n'ai pas testé ce code donc il pourrait y avoir quelques ajustements pour parenthèse et des virgules... mais je pense que vous voyez l'idée.