Écrire des limites dans une table de données à partir d'une table de limites txnelson ,
poster ce complément il y a quelque temps .. C'est très utile, mais j'aimerais savoir comment intégrer cela dans un script sans avoir à faire toutes les sélections. C'est à moins qu'il y ait une meilleure version de ce quelque part .. Le message était de retour il y a 5 ans, donc je ne suis pas sûr qu'il y ait quelque chose de plus récent.
dave
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesJe m'excuse car mon message était un peu prématuré .. J'ai été capable de comprendre comment entrer dans le .jsl (Write Limits ...) à partir de mon script ... J'ai maintenant besoin de passer de ce .jsl à la production de Tabulate .jsl ..
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesUne fonction Include () fonctionne comme si vous aviez tapé le code directement dans votre script. Donc, si vous aviez un script
x = 22;
et enregistré dans un fichier appelé
c: \ monfichier.jsl
et puis eu un script
Names Default to Here( 1 );
x = 44;
include( "c:\myfile.jsl" );
print( x );
la valeur imprimée serait 22. Le code serait interprété comme si vous aviez un script
Names Default to Here( 1 );
x = 44;
x = 22;
print( x );
Maintenant, en ce qui concerne le code que vous avez incorporé à votre script, il crée de nouvelles colonnes qui ont des "0" et des "1". Il n'y a pas de valeurs "Pass" ou "Fail". Cela dit, oui, "Pass" et "Fail" sont affichés, mais cela est dû au fait que la propriété de colonne, "étiquettes de valeur" ayant été définies. Les étiquettes de valeur ne modifient pas les valeurs réelles dans les colonnes, elles ne font que modifier les valeurs affichées.
Je suggère que vous passiez quelque temps à lire ce qui suit:
Aide ==> Livres ==> Utilisation de JMP
et
Aide ==> Livres ==> Guide de script
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesM. txnelson,
Pourriez-vous s'il vous plaît me donner un coup de main avec le script Write Limits to a Data Table .. J'ai répondu au bas de ce fil ..
DaveObjet: Limites d'écriture dans une table de données à partir d'une table de limitesM. txnelson ,
J'ai ouvert le complément et j'ai pu extraire le script afin de l'intégrer au mien. Cependant, j'ai des problèmes pour l'exécuter. J'ai essayé le Include () et référençant alors le principal; partie dans mon script et a ensuite fait un Open ("xxxxxx", Run JSL (1)); et même un Open ("xxxxx", main);
Aucune de ces méthodes n'a fonctionné. Pourriez-vous s'il vous plaît me donner quelques conseils sur la façon de l'exécuter.
Merci c'est avance .. Une fois que cela est résolu, j'ai encore quelques questions à vous poser.
dt_tablelimits_tx = Open( "limitstable.jmp", invisible);
current data table ( ::dt_testdata_tx );
// Trying to open and run the "Write Limits to Table" script
// The script you wrote to assign value labels based on the "Write Limits to Table"
dt = current data table();
// Get all numeric columns
colList = dt << get column names( numeric, string );
foundCols = "";
// Loop across the columns and generate the test pass/fails
For( i = 1, i <= N Items( colList ), i++,
spec = Column( dt, colList[i] ) << get property( "Spec Limits" );
dt << clear select;
If( Is Empty( spec ) == 0,
dt << New Column( (Column( dt, colList[i] ) << get name) || " Pass_Fail" );
If( Is Missing( Try( spec["LSL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) < spec["LSL"] );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
If( Is Missing( Try( spec["USL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) > spec["USL"], current selection( "extend" ) );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
dt << invert row selection;
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 1 );
Column( dt, N Cols( dt ) ) << set property( "Value Labels", { 0 = "Fail", 1 = "Pass" } );
If( foundCols == "",
foundCols = ":Name(\!"" || (Column( dt, colList[i] ) << get name) || " Pass/Fail\!")",
foundCols = foundCols || ", " || ":Name(\!"" || (Column( dt, colList[i] ) << get name) || " Pass/Fail\!")"
);
);
);
dt << clear select;
// The script you wrote called Tabulate Yield has ... Pass_Fail == "Pass" however I can only get it to populate using .. Pass_Fail == 1
dt << New Column( "TxCH0 Numberic Pass", formula( value_ss_TxCH0 Pass_Fail == 1 ) );
dt << New Column( "TxCH1 Numberic Pass", formula( value_ss_TxCH1 Pass_Fail == 1 ) );
dt << New Column( "TxCH2 Numberic Pass", formula( value_ss_TxCH2 Pass_Fail == 1 ) );
dt << New Column( "TxCH3 Numberic Pass", formula( value_ss_TxCH3 Pass_Fail == 1 ) );
dt << New Column( "TxCH4 Numberic Pass", formula( value_ss_TxCH4 Pass_Fail == 1 ) );
dt << New Column( "TxCH5 Numberic Pass", formula( value_ss_TxCH5 Pass_Fail == 1 ) );
dt << New Column( "TxCH6 Numberic Pass", formula( value_ss_TxCH6 Pass_Fail == 1 ) );
dt << New Column( "TxCH7 Numberic Pass", formula( value_ss_TxCH7 Pass_Fail == 1 ) );
dt << New Column( "TxCH8 Numberic Pass", formula( value_ss_TxCH8 Pass_Fail == 1 ) );
dt << New Column( "TxCH9 Numberic Pass", formula( value_ss_TxCH9 Pass_Fail == 1 ) );
dt << New Column( "TxCH10 Numberic Pass", formula( value_ss_TxCH10 Pass_Fail == 1 ) );
dt << New Column( "TxCH11 Numberic Pass", formula( value_ss_TxCH11 Pass_Fail == 1 ) );
dt << New Column( "TxCH12 Numberic Pass", formula( value_ss_TxCH12 Pass_Fail == 1 ) );
dt << New Column( "TxCH13 Numberic Pass", formula( value_ss_TxCH13 Pass_Fail == 1 ) );
dt << New Column( "TxCH14 Numberic Pass", formula( value_ss_TxCH14 Pass_Fail == 1 ) );
dt << New Column( "TxCH15 Numberic Pass", formula( value_ss_TxCH15 Pass_Fail == 1 ) );
new column ( "TxTally" ) << formula( sum(
:TxCH0 Numberic Pass, :TxCH1 Numberic Pass, :TxCH2 Numberic Pass,
:TxCH3 Numberic Pass, :TxCH4 Numberic Pass, :TxCH5 Numberic Pass,
:TxCH6 Numberic Pass, :TxCH7 Numberic Pass, :TxCH8 Numberic Pass,
:TxCH9 Numberic Pass, :TxCH10 Numberic Pass, :TxCH11 Numberic Pass,
:TxCH12 Numberic Pass, :TxCH13 Numberic Pass, :TxCH14 Numberic Pass,
:TxCH15 Numberic Pass
)
);
dt << select where( :TxTally != 16 ) << delete rows;
show( LotListSQLString );
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesLe bon de commande a été placé, approuvé et nous attendons maintenant le déploiement. Je suis sur la liste pour le 1er tour de distribution mais ça prend une éternité ..
Je veux le tableau de bord sooooo bad ..
Merci pour l'info.. Je vais devoir commencer à regarder des vidéos YouTube sur JMP 14
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesUne fois la version 14 installée, vous souhaiterez peut-être consulter la plate-forme Manage Spec Limits dans le menu Analyze -> Quality and Process.
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesJ'attends que notre service informatique définisse les licences de JMP 14. La trousse à outils semi-conducteur ne fonctionne pas pour 12 personnes, ou du moins pour celle que j'ai téléchargée.
Je vais aller à l'échange de fichiers et voir le code.
J'utilise également quelques autres scripts [Tabulate Yield Script.jsl] et un que vous publiez dans une réponse. Permettez-moi de consulter ce fichier et je vous répondrai dans les meilleurs délais.
Merci
Objet: Limites d'écriture dans une table de données à partir d'une table de limitesLes limites d'écriture dans une table de données à partir d'une table de limites ont été mises à jour. En outre, il a été ajouté à la boîte à outils Semiconductor
Si vous téléchargez et installez la dernière version à partir de File Exchange, vous pouvez voir le JSL utilisé.