Wählen Sie „Mehrere Spalten“ und aktualisieren Sie den fehlenden SpaltenwertHallo,
Ich bin neu in der JMP-Skripterstellung. Ich arbeite an einem Skript, um mehrere Spalten auszuwählen, die das Wort „Zensor“ enthalten, und fehlende Werte zu aktualisieren. Nachfolgend finden Sie eine Reihe von Beispieldaten. Ich habe die drei Spalten „Zensor A“, „Zensor B“ und „Zensor C“ aufgelistet. In der realen Welt kann die Anzahl der Spalten jedoch jedes Mal unterschiedlich sein. Daher muss ich Spalten auswählen, die das Werk „Censor“ enthalten, und dann alle fehlenden Werte mit „S“ aktualisieren. Kann ich das in JSL machen? Ich lerne immer noch Skripting, konnte aber in der JMP-Hilfe keinen Weg finden.
| Zensor A | Zensor B | Zensor C |
| F | | F |
| F | F | |
| F | | |
| | | F |
| | F | F |
| F | | |
Betreff: Mehrere Spalten auswählen und fehlenden Spaltenwert aktualisierenHier ist eine Modifikation meines ursprünglichen Skripts, um das zu tun, was Sie meiner Meinung nach wollen.....
Names Default To Here( 1 );
// Create a sample data table
dt = New Table( "Example 2",
Add Rows( 6 ),
New Column( "Censor A",
Character,
"Nominal",
Set Values( {"F", "F", "F", "", "", "F"} )
),
New Column( "Censor B",
Character,
"Nominal",
Set Values( {"", "F", "", "", "F", ""} )
),
New Column( "Censor C",
Character,
"Nominal",
Set Values( {"F", "", "", "F", "F", ""} )
),
New Column( "Setting Column",
Character,
"Nominal",
Set Values( {"Z", "X", "Y", "W", "P", "Q"} )
)
);
// Get the names of all of the columns
colNames = dt << get column names( string );
// Loop across all columns and if a Censor column
// then process
For( i = 1, i <= N Items( colNames ), i++,
If( Left( colNames[i], 6 ) == "Censor",
dt << select where( As Column( colNames[i] ) == "" );
// If blanks are found then process
rowMat = dt << get selected rows;
If( N Rows( rowMat ) > 0,
For( k = 1, k <= N Rows( rowMat ), k++,
Column( colNames[i] )[rowMat[k]] = :Setting Column[rowMat[k]]
)
);
)
);Betreff: Mehrere Spalten auswählen und fehlenden Spaltenwert aktualisierenVielen Dank für Ihre Hilfe! Hier ist eine weitere Frage. Wie kann ich im obigen Fall den fehlenden Wert mit dem Wert in einer anderen Spalte aktualisieren?Betreff: Mehrere Spalten auswählen und fehlenden Spaltenwert aktualisierenDanke schön!Betreff: Mehrere Spalten auswählen und fehlenden Spaltenwert aktualisierenHier ist ein einfaches Skript, das das Ausfüllen der fehlenden Zellen erledigt
Names Default To Here( 1 );
// Create a sample data table
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "Censor A",
Character,
"Nominal",
Set Values( {"F", "F", "F", "", "", "F"} )
),
New Column( "Censor B",
Character,
"Nominal",
Set Values( {"", "F", "", "", "F", ""} )
),
New Column( "Censor C",
Character,
"Nominal",
Set Values( {"F", "", "", "F", "F", ""} )
)
);
// Get the names of all of the columns
colNames = dt << get column names( string );
// Loop across all columns and if a Censor column
// then process
For( i = 1, i <= N Items( colNames ), i++,
If( Left( colNames[i], 6 ) == "Censor",
dt << select where( As Column( colNames[i] ) == "" );
// If blanks are found then process
If( N Rows( dt << get selected rows ) > 0,
As Column( colNames[i] )[dt << get selected Rows] = "S"
);
)
);