Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesSalut la communauté,
Exemple de ce tableau

J'ai une table qui produit la colonne Nom de 5 personnes. Toutes les personnes ont une limite de spécifications spécifique qui est la ligne HighL et LowL. Certains d'entre eux n'ont jamais de limite de spécifications HighL et LowL ou les deux. Mais je veux imposer une limite de spécification aux personnes qui ont une limite haute et basse. Imaginez que j'ai un total de 100 personnes qui ont une limite de spécifications aléatoire.
Quelqu'un pourrait-il m'aider à écrire un script capable de définir automatiquement la limite de spécifications à partir des lignes 3 et 4, qui sont HighL et LowL dans tous les noms de colonnes. Mettez simplement uniquement la limite de spécification supérieure et inférieure, vous n'avez pas besoin de cible.
S'il vous plaît..... je ne peux pas le faire manuellement avec cette méthode, il y en a trop.
Automatisation et scriptsRe : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesSi vous renommez votre HighL en USL et LowL en LSL, vous pourrez peut-être déjà le faire avec Gérer les limites des spécifications.


Charge à partir du tableau des limites

Se référer au même tableau


si vous souhaitez les voir, à partir du triangle rouge, ajoutez des limites d'affichage à tous

enfin, appuyez sur Enregistrer dans les propriétés de la colonne

(Ma colonne 2 n'a pas reçu de limites de spécifications ajoutées car elle a un LSL qui est supérieur à l'USL)
Re : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesSur ma table, monsieur, j'ai des noms de personnes qui n'ont pas besoin de mettre de limite de spécifications sur USL/LSL ou les deux. Reportez-vous à ma photo ci-dessous.

Savez-vous comment désactiver ou supprimer tous ces numéros dans une seule clé ou un script qui ne peut définir la limite de spécification que sur le nombre, sauf LSL (-9,9999e+100) USL(9,9999e+100)
Pouvez-vous également m'écrire un script qui peut renommer tous ces HighL et LowL en USL et LSL et mettre automatiquement toutes les limites de spécifications dans tous ces noms, à l'exception de la spécification infinie.
Je serai reconnaissant pour cette aide,
Re : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesSi vous ne pouvez pas modifier ces valeurs comme étant manquantes, je le ferais très probablement :
- Créer un sous-ensemble avec les lignes HighL et LowL et toutes les colonnes
- Utilisez recode pour changer HighL et LowL en USL et LSL
- Utilisez recode pour modifier les valeurs 9,99e100 en valeurs manquantes (ou une autre méthode convient également)
- Utilisez le sous-ensemble créé comme tableau de limites
- Une fois les limites définies, fermez le sous-ensemble
JMP peut très probablement écrire la plupart de ces informations pour vous grâce au générateur de journaux/workflow amélioré. Il se peut qu'il ne soit pas en mesure de créer un script pour obtenir les limites de la table, puis de les définir en tant que propriétés de colonne à partir de Gérer les limites, mais Scripting Index en propose des exemples. Voici un exemple de charge à partir du tableau des limites

Re : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesBonjour Monsieur,
J'ai déjà créé un script de recodage qui renomme l'USL & LSL. Mais je ne sais toujours pas comment changer la valeur de 9,99e100 à manquant dans la sélection de ligne et non dans la sélection de colonne. J'ai essayé plusieurs fois et j'ai toujours échoué. De plus, je suis resté bloqué sur l'écriture du script pour définir toutes les limites de spécifications sur toutes les propriétés de colonne. S'il vous plaît aidez-moi.
// Set Auto Spec Limit
Names Default To Here( 1 );
dt = Current Data Table();
// Recode column: Spec Limit
Local( {dt},
dt = Current Data Table();
dt << Begin Data Update;
dt << Recode Column(
dt:Spec Limit,
{Map Value( _rcOrig, {"HighL", "USL", "LowL", "LSL"}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Column( :Spec Limit )
);
dt << End Data Update;
);
// Recode row: USL
Local( {dt},
dt = Current Data Table();
dt << Clear Select << Select Rows( [2] );
selRows = dt << Get Selected Rows;
dt << Begin Data Update;
dt << Recode Selected Rows(
dt:USL,
{Map Value( _rcOrig, {"9.9999e+100", "."}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Row (:USL)
);
dt << End Data Update;
);
// Recode row: LSL
Local( {dt},
dt = Current Data Table();
dt << Clear Select << Select Rows( [3] );
selRows = dt << Get Selected Rows;
dt << Begin Data Update;
dt << Recode Selected Rows(
dt:USL,
{Map Value( _rcOrig, {"-9.9999e+100", "."}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Row (:LSL)
);
dt << End Data Update;
);Ci-dessous, je joins l'exemple de tableau de données utilisant ce script.
Re : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesRecode fonctionne sur les colonnes, pas sur les lignes.Il n'existe aucun message de ce type dans l'index des scripts nommé « Recoder les lignes sélectionnées ». Pour faire ce que vous semblez tenter de faire, vous devrez
- Sélectionnez la ligne en question
- Sous-ensemble de la ligne sélectionnée dans une nouvelle table de données
- Exécutez le recode JSL pour chacune des colonnes de la table de données sous-ensemble que vous souhaitez recoder.
- Utilisez la plateforme de mise à jour pour déplacer les données de la table sous-ensemble vers la table de données d'origine.
Re : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesSalut Jim, merci pour votre aide. J'arrive à recoder le certain Nom dans une colonne spécifique. Mais comment écrire un script capable de recoder une colonne entière de ma table ? Je ne sais vraiment pas comment l'écrire. Est-ce d'écrire pour chacun un nom ? Parce que toutes les tables n’ont pas une colonne du même nom. Guidez-moi s'il-vous-plaît.
// Recode column: Paul
Local( {dt},
dt = Current Data Table();
dt << Begin Data Update;
dt << Recode Column(
dt:Paul,
{Map Value(
_rcOrig,
{-9.9999e+100, ., 9.9999e+100, .},
Unmatched( _rcNow )
)},
Update Properties( 1 ),
Target Column( :Paul )
);
dt << End Data Update;
);
// Clear row selection
dt << Clear Select;Re : Définir les propriétés des colonnes de limite de spécification à partir de la sélection de lignesUne option assez simple consiste à créer votre sous-ensemble avec des lignes LSL et USL.

Transposez ceci (beaucoup plus facile de saisir des colonnes ici avec un script que de recoder si je me souviens bien)

Renommez la colonne Étiquette en Variable, recodez vos colonnes LSL et USL

et utilisez ce tableau comme tableau de spécifications
