Gedanken (ich habe es nicht ausprobiert)
- was tut es? Irgendwas im Protokoll?
- Drucken Sie die Namen der Tabellen vor und nach der Änderung aus. Was steht im Protokoll?
- Sind die Tabellen gespeichert? Intern oder extern im Projekt?
- Welche JMP-Version? Die Projekte haben sich im Jahr 16 oder 17 stark verbessert ... ich bin mir nicht genau sicher.
Abhängig davon, wo Sie Ihr Skript ausführen, haben Sie möglicherweise keinen Zugriff auf Ihr Projekt. Projekte haben ihre eigenen Namensräume.
Names Default To Here(1);
project = New Project(
Run Script(
Open("$SAMPLE_DATA/Big Class.jmp");
Open("$SAMPLE_DATA/Probe.jmp");
)
);
For(i = 1, i <= N Table(), i++,
collName = Data Table(i) << Get Column Names;
If(N Items(collName) == 2,
Data Table(i) << Set Name("Image"),
Data Table(i) << Set Name("Numerical data")
);
);
vs
Names Default To Here(1);
project = New Project(
Run Script(
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
Open("$SAMPLE_DATA/Probe.jmp");
For(i = 1, i <= N Table(), i++,
collName = Data Table(i) << Get Column Names;
If(N Items(collName) == 5,
Data Table(i) << Set Name("Image"),
Data Table(i) << Set Name("Numerical data")
);
);
)
);
Und wenn ich dies aus dem Projekt heraus ausführe (mit JMP17), funktioniert es bei mir


Hallo Freunde,
Ich versuche, geöffnete Datentabellen in einem Projekt umzubenennen. Ich habe zwei Datentabellen, eine hat Spalten, die andere hat 16 Spalten. Ich möchte die kleinere Datentabelle als „Bild“ (diese Daten enthalten viele Bilder) und die andere als „Numerische Daten“ benennen.
Mein Code funktioniert – zum ersten Mal. Nachdem der Code die Datentabellennamen korrekt geändert hat, funktioniert es nicht, wenn ich die korrekt benannte Datentabelle manuell in etwas anderes ändere und den Code erneut ausführe (ich möchte die Robustheit des Skripts testen).
Alle Vorschläge sind willkommen!
Names Default To Here( 1 );
For( i = 1, i <= N Table(), i++,
collName = Data Table( i ) << Get Column Names;
If( N Items( collName ) == 2,
Data Table( i ) << Set Name( "Image" ),
Data Table( i ) << Set Name( "Numerical data" )
);
);