Verwendbarkeit von Projekten über JSLHallo alle,
Ich habe mehrere JSL-Skripte, die sich mit dem Abrufen von Daten aus Datenbanken, deren „Manipulation“ und deren Analyse im Hinblick auf verschiedene Aufgaben befassen.
Aus Organisationsgründen verwende ich gerne „Projekte“, da alle Datentabellen, Grafiken, Tagebücher usw. in „einer“ Datei gespeichert werden können.
Allerdings tue ich mich mit der Automatisierung des Speichervorgangs der jeweiligen Inhalte schwer.
Alle Dateien werden unter „Workspace“ gespeichert. Dies wird nicht tatsächlich im Projekt gespeichert (dafür müssten die Dateien unter „Inhalte“ gespeichert werden).
Ich konnte keine Möglichkeit finden, dass mein Skript die Dateien automatisch unter „Inhalte“ speichert oder in einem späteren Schritt dorthin verschoben wird.
Mein grundlegender JSL-Code (mit JMP16) sieht so aus:
1. Version
project = New Project();
project << Set Window Title( " blahblah " );
Move to Project( destination( project ), windows( {dt1, dt2, dt3} ) );2. Version
prj = New Project(
run script(
...
)
);
Tatsächlich führen beide zum gleichen Ergebnis. Alle Dateien (Datentabellen und Diagramme) befinden sich unter „Arbeitsbereich“ und ich muss sie manuell unter „Inhalte“ in diesem Projekt speichern.
Für jegliche Unterstützung/Tipps zur Datenverarbeitung in Projekten wären wir sehr dankbar!
Ich habe die Angelegenheit auch mit Martin besprochen und er hat vorgeschlagen, Ihr Wissen/Ihre Erfahrung zu nutzen!
Danke!
Beifall
Robert
@martindemel
Automatisierung und SkripterstellungInhaltsorganisationBetreff: Nutzbarkeit von Projekten über JSLFreut mich, dass es funktioniert!
Was Zeitschriften betrifft, die << Save As() nicht akzeptieren, würde ich das als Fehler in JSL betrachten. Wenn die wirklich offensichtliche Syntax nicht funktioniert, auch wenn dies mit einer anderen, weniger offensichtlichen Syntax der Fall ist, teilen Sie dies dem technischen Support von JMP mit. Sie melden einen Fehler mit Ihren Kommentaren und leiten ihn an den entsprechenden JMP-Entwickler weiter. Obwohl ich keine konkreten Zusagen machen kann, legen wir großen Wert auf von Kunden gemeldete Probleme, sodass die Chancen gut stehen, dass wir das Problem bis zur nächsten Version beheben können.
Aa
Betreff: Nutzbarkeit von Projekten über JSLHabe es selbst gefunden...
Journale müssen wie folgt gespeichert werden:
obj << SaveJournal("PATH");Danke!
Robert
Betreff: Nutzbarkeit von Projekten über JSLHallo Aaron,
Das hilft sehr für Datentabellen!
Danke!
Allerdings habe ich auch ein Journal, das ich gerne unter „Inhalte“ speichern möchte (manuell kein Problem, aber ich möchte, dass JSL das für mich erledigt ...).
Scheint bei Zeitschriften nicht zu funktionieren?
Funktioniert Ihr vorgeschlagener Ansatz nur für Datentabellen? (wahrscheinlich übersehe ich etwas...)
Danke!
Robert
// Initialization
Names Default To Here( 1 );
dt = Open("$SAMPLE_DATA/Big Class.jmp");
w = dt << Run Script("Bivariate");
obj = w << Journal;
jrn = Current Journal();
jrn << Set Window Title( "Journal" );
prj = New Project();
Move to Project( destination( prj ), windows( {dt, w, jrn} ) );
prj << Run Script(
Create Directory("$PROJECT/my folder");
Data Table("Big Class") << Save As("$PROJECT/my folder/Big Class.jmp");
Current Journal() << Save As("$PROJECT/my folder/Journal.jrn");
);
Betreff: Nutzbarkeit von Projekten über JSLDer einfachste Weg, Dinge in den Projektinhalten in JSL zu speichern, ist über das spezielle Verzeichnis $PROJECT, das (ähnlich wie $SAMPLE_DATA, $DESKTOP usw.) in nahezu jeder JSL-API verwendet werden kann, die Pfade verwendet.
$PROJECT wird nur innerhalb von Projekten definiert. Wenn Sie also ein Projekt über JSL erstellen, muss es sich im Befehl „Run Script()“ befinden:
prj = New Project(
Run Script(
dt = new Table("My table");
dt << Save As("$PROJECT/my table.jmp");
)
);
oder so:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
w = dt << Run Script("Bivariate");
prj = New Project();
Move to Project( destination( prj ), windows( {dt, w} ) );
prj << Run Script(
Create Directory("$PROJECT/my folder");
Data Table("Big Class") << Save As("$PROJECT/my folder/Big Class.jmp");
);
oder auch:
prj = New Project();
prj << Run Script(
Copy File("$SAMPLE_DATA/Big Class.jmp", "$PROJECT/data/Big Class.jmp");
);
Hoffentlich hilft das!
Aa