Hallo zusammen
Ich habe die Spalten „Rel Interval“, „SrID“, „Pass_Fail“. Ich möchte ein Skript für die letzte Spalte „Updated Pass_Fail_SrID“ erstellen und generieren. Alle SrIDs bestehen bei den Relativintervallen „0“ und „24“, aber die SrIDs „B“ und „D“ schlagen bei „100“ fehl. Ich möchte die letzte Spalte „Updated Pass_Fail_SrID“ erstellen, die auf Pass und Fail verweist und allen Prüfpunkten Pass/Fail zuweist. Dies dient dazu, dass ich beim Plotten die geteilte Referenz haben kann.

Alle Hinweise werden sehr geschätzt.
Vielen Dank
Satej
Vielen Dank für die prompten Antworten.
Unten ist ein einfaches Skript, das die neue Spalte erstellt, indem es eine zweite Tabelle erstellt, diese Tabelle manipuliert und dann die Ergebnisse zurück in die ursprüngliche Tabelle bringt.Während dies mithilfe eines Skripts erfolgt, kann jeder der Schritte im Skript mithilfe der interaktiven Point-and-Click-Methodik ausgeführt werden, die JMP so gut beherrscht.
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 )
);
Hier sind die Schritte, um dies interaktiv zu tun
- Klicken Sie auf die Datentabelle mit den Spalten Rel Interval, Sr ID und Pass_Fail, um die Datentabelle zur aktuellen aktiven Datentabelle zu machen
- Gehen Sie zu den Pulldown-Menüs und wählen Sie Tabellen==>Teilen
- Legen Sie die Pass_Fail-Spalte und die „Split By“-Auswahl sowie die „Split Columns“-Auswahl fest, und legen Sie dann die Sr ID-Spalte als „Group“-Auswahl fest
- Klicken Sie auf OK
- Wechseln Sie zu der neu erstellten Datentabelle
- Erstellen Sie eine neue Spalte mit dem Namen " Pass_Fail_SrID aktualisiert " und machen Sie den Datentyp "Character"
- Klicken Sie mit der rechten Maustaste auf die Spaltenüberschrift und wählen Sie „Formel“
- Geben Sie im Formelfenster die Formel ein Wort( 1, :Fail || "," || :Pass, "," ) Diese Formel verkettet die beiden Spalten „Fail“ und „Pass“ miteinander und setzt ein Komma zwischen die Werte.Es wird dann die Funktion Word() verwenden, um das erste Wort in der verketteten Liste auszuwählen, und da die Zeilen, die keine Fehler aufweisen, als erstes Wort den Wert Pass haben, werden die resultierenden Werte die richtigen Werte festlegen.
- Klicken Sie auf OK
- Gehen Sie nun in das Col Info Dialogfenster der neuen Spalte und klicken Sie auf die Spalteneigenschaft „Formel“ und dann auf Entfernen.Dadurch werden die Werte in der neuen Spalte in statische Werte und nicht in berechnete Werte konvertiert.
- Löschen Sie die Spalten Pass und Fail.Sie werden nicht mehr benötigt.
- Gehen Sie zurück zur ursprünglichen Datentabelle und gehen Sie zum Pulldown-Menü und wählen Sie Tabellen==Aktualisieren
- Wählen Sie die Nachschlagetabelle, in der die neue Spalte erstellt wurde, als Tabelle aus, aus der die Aktualisierung abgerufen werden soll
- Aktivieren Sie das Kontrollkästchen für "Spalten anpassen".
- Wählen Sie die Sr-ID aus beiden Datentabellen aus und klicken Sie dann auf die Schaltfläche Match
- Klicken Sie auf OK und Ihrer ursprünglichen Datentabelle wird nun die neue Spalte hinzugefügt
Hallo Satej,
Die einfachste Lösung besteht darin, Ihre Pass_Fail-Spalte als fortlaufende numerische Spalte mit Fail = 0 und Pass = 1 neu zu codieren. Dann können Sie einfach nach dem Minimum anhand der Sr-ID suchen, um festzustellen, ob eine der Sr-IDs zu irgendeinem Zeitpunkt fehlgeschlagen ist.
Siehe diese Lösung im Anhang
Am besten,
TS