Wie ersetze ich leere Zeilen in ausgewählten Spalten?Hallo JMP-Community,
Ich habe eine Datentabelle, in der Spalten einen bestimmten Namen haben. Zuerst habe ich das Skript geschrieben, um diese Spalten auszuwählen, und ich möchte die leeren Zeilen dieser Spalte durch "REF" ersetzen, aber andere Spalten ohne diesen bestimmten Namen ändern sich nicht, wie kann ich das tun? tun dies mit JSL? Vielen Dank.

DatentabelleBetreff: Wie ersetze ich leere Zeilen in ausgewählten Spalten?Danke vielmals!Betreff: Wie ersetze ich leere Zeilen in ausgewählten Spalten?Hallo Sing,
Ich denke, es gibt zwei Probleme in Ihrem Skript,
1.: Ihre wenn auf die falsche Liste verwiesen wird (Col_List)
Zweitens: Die Aktion befindet sich nicht in Ihrer if-Anweisung, sondern danach, sodass das if die Aktion nicht steuern kann.
Probieren Sie das angehängte Skript aus, es sollte den Job erledigen. Zusätzlich zu Jims Skript habe ich die Änderungen hinzugefügt, die Sie möglicherweise benötigen.
Names Default To Here( 1 );
dt = New Table( "test",
New Column( "A::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "B::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "C::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "D::Test", "Character", set values( {"", "Test", ""} ) ),
New Column( "value", set values( {1, 2, 3} ) )
);
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
If( Contains( colNameList[i], "::LotData" ),
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] = "REF"
),
)
);Betreff: Wie ersetze ich leere Zeilen in ausgewählten Spalten?Hallo Txnelson,
Ich habe das von Ihnen angegebene Skript ausprobiert, aber dies ersetzt auch die Wertspalte. Kann ich also nur die Spalte durch Chargendaten ersetzen?
Ich habe dieses Skript geschrieben, verstehe aber nicht, was daran falsch ist.
dt = Current Data Table();
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
If(Contains(Col_List[i], "::LotData")),
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] =
"REF"
)
);
Betreff: Wie ersetze ich leere Zeilen in ausgewählten Spalten?Hi,
Eine andere Lösung ohne Skripting besteht darin, Ihre drei Spalten auszuwählen, mit der rechten Maustaste auf die Kopfzeilen zu klicken > Attribute standardisieren > Umcodieren > die Leerzeichen durch "REF" zu ersetzen.
ACHTUNG: Die Neucodierung kann nicht rückgängig gemacht werden, also stellen Sie sicher, dass Sie Ihre Tabelle speichern, bevor Sie die obigen Schritte ausführen.
Am besten,
TS
Betreff: Wie ersetze ich leere Zeilen in ausgewählten Spalten?Hier ist ein kleines Skript, das alle Zeichenspalten durchläuft und dann in jeder Spalte alle Zeilen findet, die leere Zellen haben, und sie auf REF setzt
Names Default To Here( 1 );
dt = Current Data Table();
// Get the column names for all character columns
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] =
"REF"
)
);