Skript zum Kombinieren von Datentabellenskripten mit Daten aus mehreren Dateien und Speichern in einer JSL-DateiHallo zusammen!
Okay, nach viel zu langem Versuchen weiß ich nicht, wie ich diesen Code zum Laufen bekomme. Ich versuche, ein Skript zu erstellen, mit dem ein Benutzer aus einer Liste geöffneter Dateien auswählen kann. Für jede ausgewählte Datei kopiert der Code die Datentabellenskripte und fügt sie dann alle in eine einzelne JSL-Datei ein, die ich dann später ausführen kann und die alle Datentabellen erneut öffnet. Im Grunde eine Möglichkeit, mehrere Datentabellen in eine einzelne Datei zu packen (ohne sie zippen zu müssen), um komplexere Analysen einfacher speichern zu können. Dieser Code erledigt das meiste von dem, was ich will, aber ich kann die Tabellenskripte nicht in einer JSL-Datei speichern, da sie ständig eine Kopie der Dateien öffnen möchten.
Names Default To Here(1);
nw = new window("Trial",show menu(0),
vlistbox(
hlistbox(
panelbox("Open data tables",
lb = listbox(get data table list ());
),
panelbox("Data tables to save into one script file",
lb2 = listbox();
),
),
buttonbox("press to select tables",dtla=lb << Get Selected;lb2 << Append( dtla ); ),
buttonbox("press to remove tables",lb2 << Remove Selected(); ),
panelbox("what is the file name?",
teb1=Texteditbox();
),
buttonbox("press to save",
dtlb=lb2 << Get items;
fn=teb1 << Get Text();
list_of_table_scripts={};
For( i = 1, i <= N Items( dtlb ), i++,
y = datatable(dtlb[i]) << Get Script With Data Table();
insertinto(list_of_table_scripts,y);
);
Save Text File( "$desktop\"||fn||".jsl", y );
nw<< Close Window;
)
)
);
teb1<< Set Width( 200 );
Danke für jede Anleitung!!
Steve
Automatisierung und SkriptingBetreff: Skript zum Kombinieren von Datentabellenskripten mit Daten aus mehreren Dateien und Speichern in einer JSL-DateiIch würde nicht empfehlen, die Datentabelle als Skript zu speichern, es sei denn, sie ist sehr klein, da die Skriptgröße schnell sehr groß werden kann. Aber wenn Sie dies wirklich tun möchten, könnten Sie so etwas verwenden
Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
tables = Get Data Table List() << get name;
tablescripts = {};
For Each({tablename}, tables,
s = DataTable(tablename) << Get Script;
Insert Into(tablescripts, Char(Name Expr(s)));
);
Save Text File("$DOWNLOADS/demo.jsl", Concat Items(tablescripts, ";"));
Betreff: Skript zum Kombinieren von Datentabellenskripten mit Daten aus mehreren Dateien und Speichern in einer JSL-DateiJe nachdem, wie Sie die Tabellen später verwenden möchten, können Sie sie entweder in JMP Project oder in einer ZIP-Datei sammeln (beides ist mit JSL möglich). In diesem Fall müssen Sie möglicherweise ein separates Tabellenladeskript erstellen, es sei denn, Sie möchten die Dateien aus JMP Project verwenden. Ich persönlich mag ihre Implementierung überhaupt nicht und vermeide sie daher eher, habe sie aber gelegentlich zum Verpacken von JMP-Dateien für Archivierungszwecke verwendet.
Betreff: Skript zum Kombinieren von Datentabellenskripten mit Daten aus mehreren Dateien und Speichern in einer JSL-DateiDanke @jthi !
Habe Ihren Code zu meinem hinzugefügt und das funktioniert super!! Danke für den Hinweis zur Dateigröße, ich werde das im Auge behalten.
Names Default To Here(1);
nw = new window("Trial",show menu(0),
vlistbox(
hlistbox(
panelbox("Open data tables",
lb = listbox(get data table list ());
),
panelbox("Data tables to save into one script file",
lb2 = listbox();
),
),
buttonbox("press to select tables",dtla=lb << Get Selected;lb2 << Append( dtla ); ),
buttonbox("press to remove tables",lb2 << Remove Selected(); ),
panelbox("what is the file name?",
teb1=Texteditbox();
),
buttonbox("press to save",
dtlb=lb2 << Get items;
fn=teb1 << Get Text();
tablescripts = {};
For Each({tablename}, dtlb,
s = DataTable(tablename) << Get Script;
Insert Into(tablescripts, Char(Name Expr(s)));
);
Save Text File( "$desktop\"||fn||".jsl", Concat Items(tablescripts, ";") );
nw<< Close Window;
)
)
);
teb1<< Set Width( 200 );
Betreff: Skript zum Kombinieren von Datentabellenskripten mit Daten aus mehreren Dateien und Speichern in einer JSL-Datei@jthi , was wäre das JSL zum Speichern in einer ZIP-Datei? Ich sehe nichts im Skriptindex.
Betreff: Skript zum Kombinieren von Datentabellenskripten mit Daten aus mehreren Dateien und Speichern in einer JSL-DateiIch denke, Sie müssen Ihre Tabellen vorübergehend speichern, damit Sie sie als Blobs laden können
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Save("$TEMP\blob.jmp"); // save jmp table to load it as a blob
Close(dt, no save);
b = Load Text File("$TEMP\blob.jmp", blob);
za = Open("$TEMP\deleteMe.zip", zip);
za << Write("Big Class.jmp", b);
Delete File("$TEMP\blob.jmp");
Hier könnten noch einige Verbesserungen vorgenommen werden.