Une grande utilisation pour JMP en direct est la publication automatique d'un rapport quotidien. Ces rapports peuvent prendre de nombreuses formes dans de nombreux secteurs : rapports de rendement quotidiens, résumés de production du jour au lendemain, enregistrements de campagnes, pour n'en nommer que quelques-uns. Et dans bon nombre de ces rapports quotidiens « x », il y a le désir de séparer automatiquement les quelques paramètres ou mesures vitaux des nombreux triviaux.
Dans certaines industries, comme celle des semi-conducteurs, il peut y avoir des centaines, voire des milliers de mesures potentielles ; les parcourir une par une n’est pas le moyen le plus efficace d’analyser les données, surtout si cela doit être fait quotidiennement.
La plateforme Process Screening de JMP fournit un moyen automatisé d'examiner de nombreux paramètres ou mesures, offrant des mesures de variabilité, des alarmes de carte de contrôle et des mesures de capacité. Il permet ensuite à l'utilisateur de trier la ou les mesures qui l'intéressent.
Lorsqu'il est utilisé comme centre d'un JMP en direct flux de publication, la plateforme Process Screening permet aux utilisateurs de rapports de se concentrer uniquement sur les paramètres qui doivent être triés et gérés.
Cet exemple utilise l'un des exemples de fichiers de données inclus avec JMP (semiconductorcapacité.jmp). j'ai aussi un tableau des limites de spécifications, stocké dans une table de données JMP, qui peut être lu.
Tout d’abord, nous exécutons la plateforme Process Screening dans un script pour nous assurer qu’elle est adressable plus tard dans le script. À l'aide de cet ensemble de sélections, nous générons ensuite des cartes de contrôle individuelles si l'une des nombreuses mesures se comporte mal.
obj = dt << Process Screening(
Y(
:measure1
…
:measureN
);
Voici le JSL pour effectuer ces sélections :
// Specify conditional thresholds for control charts
obj << select where (:Cpk < 0.2);
obj << control charts for selected items;
obj << select where (:Stability Index > 1.03);
obj << control charts for selected items;
obj << select where (:Out of Spec Rate > 0.3);
obj << control charts for selected items;
obj << select where (:Alarm Rate > 0.005);
obj << control charts for selected items;
Bien que cette sélection soit basée sur les excursions du CPK, de l'indice de stabilité, du taux hors spécification et du taux d'alarme, votre sélection d'intérêt peut être différente pour votre utilisation particulière.
Le modèle résultant génère un aperçu du processus avec la plateforme Process Screening. Il existe également la plate-forme Process Capability pour les cartes de contrôle contextuelles et individuelles permettant de se concentrer sur des conditions spécifiques.
Pour publier sur JMP Live, nous utilisons la syntaxe de publication standard indiquée ci-dessous.Tout d’abord, recherchez tous les rapports ouverts et attribuez-leur des titres en fonction de ce qu’ils affichent :
windows = Find All( Reports );
windows[1] << Set Report Title("Process Capability Report");
windows[2] << Set Report Title("Process Screening Report");
windows[3] << Set Report Title("Control Charts: Low Cpk");
windows[4] << Set Report Title("Control Charts: High Stability Ratio");
windows[5] << Set Report Title("Control Charts: High Out of Spec Rate");
windows[6] << Set Report Title("Control Charts: High Alarm Rate");
Ensuite, organisez-les dans une collection de rapports en vue de leur publication sur JMP Live ; donnez au rapport un titre et une description du processus.
If( N Items( windows ) > 0,
webreport = New Web Report();
webreport << Add Reports( windows);
webreport << Index(
Title( "Process Capability Analysis Report" ),
Description( "Process Example" ),
);
);
Publier sur JMP Live (avec options de remplacement et de groupe) :
// External JMP Live Server
url = webreport << Publish(
URL("JMP Live URL"),
Username("JMP Live Username"),
Replace("Package ID"),
Groups("Group"),
Prompt(IfNeeded)
);
Ouvrez le rapport JMP Live nouvellement créé dans le navigateur (vous ne souhaiterez peut-être pas cela si vous exécutez selon un planning).
If( !Is Empty( url ),
Web( url )
);
Enfin, nettoyez les fenêtres.
Close All (data tables, nosave);
Pour les mises à jour automatiques, utilisez le Planificateur de tâches Windows. Tant que la table JMP a été mise à jour avec de nouvelles données, le script JMP s'exécutera avec les données les plus récentes, signalera et créera des cartes de contrôle des mesures présentant des écarts et publiera un nouveau rapport JMP Live pouvant être surveillé. par ceux qui doivent prendre des décisions. JMP garantit que seules les mesures signalées apparaissent sous forme de cartes de contrôle dans le Rapport JMP en direct . (Bien sûr, vous pouvez toujours télécharger les données et les ouvrir dans JMP si vous souhaitez effectuer des analyses de suivi.)
J'ai joint le script à ce billet de blog si vous souhaitez l'utiliser comme modèle pour vos propres rapports quotidiens publiés sur JMP en direct .
Salut MIL,
Le code fonctionne pour moi, mais vous vous attendez peut-être à autre chose...
Notez les noms d'origine des fenêtres, que j'ai encerclés, et comment ils changent après l'exécution du code.
AVANT:

APRÈS:

Notez que rien dans les rapports eux-mêmes n'a changé. Si vous souhaitez modifier le texte du rapport avec JSL, vous devrez accéder à l'objet d'arborescence d'affichage approprié (souvent une zone de plan) et définir le titre à l'aide d'un message. Pour les boîtes Outline, ce message est << set title ("string"), mais d'autres éléments utilisent d'autres messages... par exemple, une zone de texte utilise << set text ("string").

Acclamations,
Brady