JMP-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen mit mehr als 31 ZeichenHallo,
Ich versuche, einige JMP-Datentabellen nach Excel zu exportieren (eine Excel-Datei mit separaten Registerkarten für jedes Blatt). Einige der Datenblattnamen sind jedoch länger als 31 Zeichen, was Excel als Registerkartennamen nicht unterstützt. Wenn ich versuche, die Option „Exportieren“ in JMP zu verwenden, funktioniert es problemlos mit abgeschnittenen Namen, die länger als 31 Zeichen sind. Aber wenn ich versuche, „Excel-Arbeitsmappe erstellen ()“ in einem JMP-Skript zu verwenden, stürzt die Software ab.
Kann mir bitte jemand mit dem Skript helfen, das ich zum Exportieren nach Excel verwenden kann, wobei Blattnamen abgeschnitten werden, die länger sind als die in Excel zulässigen 31 Zeichen?
Danke
MassenanpassungWindowsBetreff: jmp-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen, die länger als 31 Zeichen sindTransformEach kann durch eine for-Schleife ersetzt werden, etwa so
// dt_names = Transform Each({dt_ref}, dt_list, Substr(dt_ref << get name, 1, 31));
// for every dt_ref in dt_list, make a new list using substr...
dt_names = {};
for( i = 1, i <=nitems(dt_list), i += 1,
dt_ref = dt_list[i];
insert into( dt_names, substr( dt_ref << get name, 1, 31 ) );
);Betreff: jmp-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen, die länger als 31 Zeichen sindUm meine Frage zu ergänzen, sagen wir, ich habe ungefähr 100 einzelne JMP-Dateien, die gleichzeitig exportiert werden müssen. Ich wäre nicht in der Lage, die Namen jeder einzelnen Datei im Skript separat zu definieren. Ich möchte also, dass das Skript alle jmp-Dateien exportiert, die in diesem Moment geöffnet sind, einschließlich derer mit einem sehr langen Namen.
Betreff: jmp-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen, die länger als 31 Zeichen sindVielen Dank jthi. Ich habe jedoch JMP 15 und es sieht so aus, als ob das Skript den Transform-Befehl nicht ausführen kann. Kennen Sie bitte ein alternatives Skript?
Betreff: jmp-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen, die länger als 31 Zeichen sindTut mir leid, jthi hat das Drehbuch geschrieben.
Betreff: jmp-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen, die länger als 31 Zeichen sindHallo DD1,
Zunächst danke tdhi für das Skript.Wenn es Ihnen nichts ausmacht, teilen Sie bitte das Skript, das abstürzt, an den technischen Support von JMP unter ein support@jmp.com und wir werden versuchen, das Absturzverhalten für eine zukünftige Version zu beheben.
Brian Corcoran
JMP-Entwicklung
Betreff: jmp-Skript zum Exportieren von Datenblättern nach Excel mit Blattnamen, die länger als 31 Zeichen sindSie können Substr verwenden, um einen Teil der Zeichenfolge zu erhalten, und dt_ref << get name, um den Namen der Datentabelle zu erhalten. Unten ist ein Beispiel, das Ihnen den Einstieg erleichtern soll (erfordert JMP16, da Transform Each verwendet wird):
<BR />Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Abrasion.jmp");
dt1 << Set Name("veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongname");
dt2 << Set Name("notsolongname");
dt_list = {dt1, dt2};
dt_names = Transform Each({dt_ref}, dt_list, Substr(dt_ref << get name, 1, 31));
Show(dt_names);
Create Excel Workbook("$TEMP/MyWorkbook.xlsx", dt_list, dt_names);
Close(dt1, no save);
Close(dt2, no save);