Ciao a tutti
Ho le colonne "Rel Interval", "SrID", "Pass_Fail". Voglio creare e generare script per l'ultima colonna "Aggiornato Pass_Fail_SrID". Tutti gli SrID passano all'intervallo rel "0" e "24", ma gli SrID "B" e "D" falliscono a "100". Voglio creare l'ultima colonna "Updated Pass_Fail_SrID" che prende riferimento al passaggio e al fallimento e assegna il passaggio/fallimento a tutti i checkpoint. In questo modo durante la trama posso avere il riferimento diviso.

Qualsiasi suggerimento è molto apprezzato.
Grazie molto
Satej
Grazie mille per le tempestive risposte.
Di seguito è riportato un semplice script che creerà la nuova colonna creando una seconda tabella, manipolando quella tabella e quindi riportando i risultati nella tabella originale.Sebbene ciò avvenga utilizzando uno script, ciascuna delle fasi dello script è disponibile per essere eseguita utilizzando la metodologia interattiva punta e clicca che JMP fa così bene.
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 )
);
Ecco i passaggi per farlo in modo interattivo
- Fare clic sulla tabella dati che contiene le colonne Rel Interval, Sr ID e Pass_Fail per rendere la tabella dati la tabella dati attiva corrente
- Vai ai menu a tendina e seleziona Tabelle==>Dividi
- Impostare la colonna Pass_Fail e l'opzione "Dividi per", nonché l'opzione "Dividi colonne", quindi impostare la colonna Sr ID come opzione "Gruppo"
- Fare clic su OK
- Vai alla nuova tabella di dati che è stata creata
- Crea una nuova colonna chiamata " Pass_Fail_SrID aggiornato " e crea il tipo di dati "Carattere"
- Fare clic con il tasto destro sull'intestazione della colonna e selezionare "Formula"
- Nella finestra della formula, digita la formula Parola( 1, :Fallito || "," || :Riuscito, "," ) Questa formula concatenerà insieme le 2 colonne di Fail e Pass, inserendo una virgola tra i valori.Utilizzerà quindi la funzione Word() per selezionare la prima parola nell'elenco concatenato e poiché le righe che non hanno errori avranno il valore Pass come prima parola, i valori risultanti imposteranno i valori corretti.
- Fare clic su OK
- Ora vai alla finestra di dialogo Col Info per la nuova colonna e fai clic sulla proprietà della colonna "formula", quindi fai clic su Rimuovi.Questo convertirà i valori nella nuova colonna in valori statici, piuttosto che in valori calcolati.
- Elimina le colonne Pass e Fail.Non sono più necessari.
- Torna alla tabella dati originale e vai al menu a tendina e seleziona Tabelle==Aggiorna
- Selezionare la tabella di ricerca in cui è stata creata la nuova colonna come tabella da utilizzare per ottenere l'aggiornamento
- seleziona la casella per "Colonne corrispondenti"
- selezionare Sr ID da entrambe le tabelle di dati e quindi fare clic sul pulsante Abbina
- Fai clic su OK e la tua tabella di dati originale ora avrà la nuova colonna aggiunta ad essa
Ciao Satej,
La soluzione più semplice è ricodificare la colonna Pass_Fail come colonna numerica continua con Fail = 0 e Pass = 1. Quindi puoi semplicemente cercare il minimo per Sr ID per determinare se uno qualsiasi degli Sr ID ha fallito in qualsiasi momento.
Vedi questa soluzione allegata
Migliore,
ST