Ändern Sie das Produkt für mehrere Datentabellennamen einer Teilmenge<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich möchte im Batch den Namen mehrerer geöffneter Tabellen ändern, die ein Produkt einer Table-Teilmenge sind.
Wenn ich eine Tabelle mit dem Namen "MyData.jmp" mit dem folgenden Skript untersetze, erhalte ich Tabellen mit dem Namen der ursprünglichen Tabelle, gefolgt von einem Leerzeichen und einer fortlaufenden Nummer (z. B. "MyData 1", "MyData 2", "MyData 3") "," MyData n "). Stattdessen möchte ich jeder Tabelle den Namen der jeweiligen Ebene der Spalte geben, nach der sie eine Teilmenge enthält (wie nach dem Skript erläutert).
// Subset eine Datentabelle (nach verschiedenen Spaltenebenen).
Datentabelle ("MyData.jmp") <<
Teilmenge(
Von (: Ref),
Alle Reihen
Nur ausgewählte Spalten (0),
Säulen(
:Tag,
:Monat,
:Gitter,
: Ref
)
)
Wenn ich dagegen die Tabelle ("MyData.jmp") mit der Schnittstelle untersetze, erhalte ich Tabellennamen wie "Ref = P100_1", "Ref = P100_2", "Ref = P100_25". Das bedeutet, dass ich die Tabelle durch die Spalte "Ref" untergeordnet habe und nach dem "=" die Ebenen der Spalte erscheinen, durch die ich eine Teilmenge habe. In diesem Fall interessiert mich nur der Teil "P100_1", "P100_2", "P100_25" als Namen der Tabellen. In diesem Fall müsste ich in Batch den gleichen Text aus allen Datentabellen löschen ("Ref =").
Betreff: Ändern Sie mehrere Datentabellennamen einer TeilmengeDanke Ian @ JMP!
Das Skript hat sehr gut funktioniert.
Ich habe den "unsichtbaren" Faktor in die Untertabellen eingeführt, um zu vermeiden, dass viele Fenster geöffnet werden, und speichert sie dann als Textdatei (mit einem anderen Skript). Es scheint auch gut funktioniert zu haben.
// Beispieltabelle
dt = Öffnen ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
// Beispielspalte
col = Säule ( dt . "Alter" ) ;
// Teilmengen erstellen nach: Alter
colLevs = AssoziativesArray ( col ) << GetKeys ;
Zum ( ich = 1 . ich <= NItems ( colLevs ) . ich ++
r2get = dt << getRowsWhere ( : Alter == colLevs [ ich ]) ;
dtSub = dt << Teilmenge ("Unsichtbar", Reihen ( r2get )) ;
dtSub << Name einsetzen ( Verkohlen ( colLevs [ ich ])) ;
) ;
Betreff: Ändern Sie mehrere Datentabellennamen einer TeilmengeHier ist ein Weg:
// Beispieltabelle
dt = Öffnen ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
// Beispielspalte
col = Säule ( dt . "Alter" ) ;
// Teilmengen erstellen nach: Alter
colLevs = AssoziativesArray ( col ) << GetKeys ;
Zum ( ich = 1 . ich <= NItems ( colLevs ) . ich ++
r2get = dt << getRowsWhere ( : Alter == colLevs [ ich ]) ;
dtSub = dt << Teilmenge ( Reihen ( r2get )) ;
dtSub << Name einsetzen ( Verkohlen ( colLevs [ ich ])) ;
) ;