Salut tout le monde
J'ai les colonnes "Rel Interval", "SrID", "Pass_Fail". Je souhaite créer et générer un script pour la dernière colonne "Updated Pass_Fail_SrID". Tous les SrID passent aux intervalles relatifs "0" et "24" mais les SrID "B" et "D" échouent à "100". Je souhaite créer la dernière colonne "Updated Pass_Fail_SrID" qui prend la référence de réussite et d'échec et attribue une réussite/un échec à tous les points de contrôle. C'est pour que pendant le traçage, je puisse avoir la référence divisée.

Tous les pointeurs sont grandement appréciés.
Merci beaucoup
Satej
Merci beaucoup pour les réponses rapides.
Vous trouverez ci-dessous un script simple qui créera la nouvelle colonne en créant une deuxième table, en manipulant cette table, puis en ramenant les résultats dans la table d'origine.Bien que cela soit fait à l'aide d'un script, chacune des étapes du script peut être effectuée à l'aide de la méthodologie interactive pointer-cliquer que JMP fait si bien.
names default to here(1);
// create the example data table
dt = New Table( "Example 3",
Add Rows( 15 ),
New Column( "Rel Interval",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 100, 100, 100, 100, 100] )
),
New Column( "Sr ID",
Character( 8 ),
"Nominal",
Set Values(
{"A", "B", "C", "D", "E", "A", "B", "C", "D", "E", "A", "B", "C", "D",
"E"}
)
),
New Column( "Pass_Fail",
Character( 8 ),
"Nominal",
Set Values(
{"Pass", "Pass", "Pass", "Pass", "Pass", "Pass", "Pass", "Pass", "Pass",
"Pass", "Pass", "Fail", "Pass", "Fail", "Pass"}
)
)
);
wait(3); // this is added just so the viewer can see the original data table
// Split the Pass Fail column into 2 columns
dtSplit = dt << Split(
Split By( :Pass_Fail ),
Split( :Pass_Fail ),
Group( :Sr ID ),
Remaining Columns( Drop All ),
Sort by Column Property
);
wait(2);
// Create a new column that has a formula that will set the Pass or Fail value
dtSplit << New Column("Updated Pass_Fail_SrID", character, formula(Word( 1, :Fail || "," || :Pass, "," )));
wait(2);
// convert the formula column into static values
dtSplit:Updated Pass_Fail_SRID << delete formula;
wait(2);
// Delete no longer wanted columns
dtSplit << delete columns("Fail","Pass");
wait(2);
// Update the original data table with the information from the split table
dt << Update(
With( dtSplit ),
Match Columns( :Sr ID = :Sr ID )
);
Voici les étapes pour le faire de manière interactive
- Cliquez sur la table de données contenant les colonnes Rel Interval, Sr ID et Pass_Fail pour faire de la table de données la table de données active actuelle
- Allez dans les menus déroulants et sélectionnez Tables==>Split
- Définissez la colonne Pass_Fail et le choix "Split By", ainsi que le choix "Split Columns", puis définissez la colonne Sr ID comme choix "Group".
- Cliquez sur OK
- Aller à la nouvelle table de données qui a été créée
- Créez une nouvelle colonne appelée " Pass_Fail_SrID mis à jour " et faites en sorte que son type de données soit "Caractère"
- Faites un clic droit sur l'en-tête de la colonne et sélectionnez "Formule"
- Dans la fenêtre de formule, tapez la formule Mot( 1, :Échec || "," || :Réussite, "," ) Cette formule concaténera les 2 colonnes de Fail et Pass ensemble, en plaçant une virgule entre les valeurs.Il utilisera ensuite la fonction Word() pour sélectionner le 1er mot dans la liste concaténée, et puisque les lignes qui n'ont pas d'échec auront la valeur de Pass comme premier mot, les valeurs résultantes définiront les valeurs correctes.
- Cliquez sur OK
- Allez maintenant dans la fenêtre de dialogue Col Info pour la nouvelle colonne et cliquez sur la propriété de colonne "formule", puis cliquez sur Supprimer.Cela convertira les valeurs de la nouvelle colonne en valeurs statiques, plutôt qu'en valeurs calculées.
- Supprimez les colonnes Réussite et Échec.Ils ne sont plus nécessaires.
- Revenez à la table de données d'origine et accédez au menu déroulant et sélectionnez Tables == Mettre à jour
- Sélectionnez la table de recherche dans laquelle la nouvelle colonne a été créée comme table à utiliser pour obtenir la mise à jour à partir de
- cochez la case "Correspondance des colonnes"
- sélectionnez Sr ID dans les deux tables de données, puis cliquez sur le bouton Match
- Cliquez sur OK et votre table de données d'origine aura maintenant la nouvelle colonne ajoutée
Salut Satej,
La solution la plus simple consiste à recoder votre colonne Pass_Fail en une colonne numérique continue avec Fail = 0 et Pass = 1. Ensuite, vous pouvez simplement rechercher le minimum par Sr ID pour déterminer si l'un des Sr ID a échoué à tout moment.
Voir cette solution en pièce jointe
Meilleur,
TS