Suchen und Ersetzen für SpaltennamenBeim Speichern der Berichtsausgabe in einer Datentabelle entstehen häufig lange Spaltennamen, die bei nachfolgenden Analysen unhandlich werden. Dies ist ein dummes kleines Skript zum Ersetzen/Entfernen von Text aus den Namen ausgewählter Spalten.
Verwendung: Wählen Sie die Spalten aus, die Sie ändern möchten, führen Sie das Skript aus, geben Sie den Text ein, der geändert werden muss (einschließlich Leerzeichen), und geben Sie dann den Text ein, in den er geändert werden soll (ebenfalls einschließlich Leerzeichen, lassen Sie das Feld leer, um es durch nichts zu ersetzen).
Wenn keine offenen Datentabellen vorhanden sind, führt das Skript offensichtlich keine Aktion aus. Wenn keine Spalten ausgewählt sind, d. h. wenn keine Spalten identifiziert werden, die geändert werden müssen, führt das Skript derzeit nichts aus, obwohl eine Aufforderung zur Auswahl von Spalten hinzugefügt werden könnte.
Update: Der erste ausgewählte Spaltenname wird in das Textfeld eingefügt, um die Angabe des zu suchenden Textes zu erleichtern
Ein dummes kleines Skript zum Ersetzen/Entfernen von Text aus den Namen ausgewählter Spalten. Wählen Sie die zu ändernden Spalten aus, führen Sie das Skript aus und befolgen Sie die Anweisungen.
DienstprogrammeBetreff: Suchen und Ersetzen für SpaltennamenHere is the updated script (the only change was to add << Return Result, so the Text Box would return what was entered (not sure why it worked before):
//!
// Initialize
Names Default to Here( 1 );
Clear Log();
dt = Current Data Table( );
// Stop the script if no open data tables
If( Is Empty( dt ), Stop());
cols = dt << Get Selected Columns( );
// Stop the script if no columns selected
If( N Items( cols ) == 0, Stop());
// Prompt user for text to remove
eBox1 = New Window(
"Find",
<< Modal,
<< Return Result,
Text Box(
"What text should be removed from the column names
(including spaces, i.e. delete the text you want to keep)?",
Justify Text ("Center"),
Set Width(500)
),
Spacer Box( Size( 12.5, 12.5 ) ),
editBox = Text Edit Box(cols[1] << Get Name()),
editBox << Set Width(500),
Spacer Box( Size( 12.5, 12.5 ) ),
H List Box( Button Box( "OK",
remove this = editBox << Get Text;
// Stop the script if the user doesn't enter any text
If( remove this == "", Stop())
),
Button Box( "Cancel" ),
<< Horizontal Alignment( "Center" )
)
);
// Stop the script if the user hits the cancel button
If( eBox1["Button"] == -1, Print("Canceled"); Stop());
// Prompt user for text to replace
eBox2 = New Window(
"Replace With",
<< Modal,
<< Return Result,
Text Box(
"What should the text be replaced with
(including spaces, or leave blank)?",
Justify Text ("Center"),
Set Width(300)
),
Spacer Box( Size( 12.5, 12.5 ) ),
editBox2 = Text Edit Box(),
editBox2 << Set Width(300),
Spacer Box( Size( 12.5, 12.5 ) ),
H List Box( Button Box( "OK",
replace with = editBox2 << Get Text
),
Button Box( "Cancel" ),
<< Horizontal Alignment( "Center" )
)
);
// Stop the script if the user hits the cancel button
If( eBox2["Button"] == -1, Print("Cancled"); Stop());
// Loop through the columns adding the tag to the end of the existing name
For( i = 1, i <= N Items( cols ), i++,
cols[ i ] << set name( munger(cols[ i ] << get name, 1, remove this, replace with))
); // Next column
// EndBetreff: Suchen und Ersetzen für SpaltennamenEs kann etwas dauern, bis das Update veröffentlicht wird.
Betreff: Suchen und Ersetzen für SpaltennamenEs tut mir leid, dass die Antwort so lange gedauert hat. Ich habe vergessen, dass ich das hier gepostet habe. Ja, es kann behoben werden. - ERLEDIGT
Betreff: Suchen und Ersetzen für SpaltennamenVielen Dank für Ihr Teilen.
Dieses tolle Add-In kann jedoch nicht auf JMP16 verwendet werden.
Es wird die Fehlermeldung angezeigt: gelöschte Objektreferenz:editbox<
Gibt es eine Lösung dafür?
Betreff: Suchen und Ersetzen für SpaltennamenErledigt.
Betreff: Suchen und Ersetzen für SpaltennamenVielen Dank für den Beitrag ... Gibt es eine Möglichkeit, daraus ein Add-In zu machen?