Convivialité des projets via JSLSalut tout le monde,
J'ai plusieurs scripts jsl traitant de la récupération de données à partir de bases de données, de la "manipulation" et de l'analyse de celles-ci en ce qui concerne différentes tâches.
À des fins d'organisation, j'aime utiliser "Projets" car tous les tableaux de données, graphiques et journaux, etc. peuvent être stockés dans "un" fichier.
Cependant, j'ai du mal avec l'automatisation de la procédure de sauvegarde des contenus respectifs.
Tous les fichiers sont stockés sous "Espace de travail". Ce n'est pas réellement stocké dans le projet (qui aurait besoin que les fichiers soient stockés sous "Contenu").
Je n'ai pas trouvé de moyen pour que mon script stocke automatiquement les fichiers sous "Contenu" ou qu'il y soit déplacé ultérieurement.
Mon code JSL de base (utilisant JMP16) ressemble à :
1. Édition
project = New Project();
project << Set Window Title( " blahblah " );
Move to Project( destination( project ), windows( {dt1, dt2, dt3} ) );2. Version
prj = New Project(
run script(
...
)
);
En fait, les deux aboutiront au même résultat, tous les fichiers (tableaux de données et graphiques) se trouvent sous Workspace et je dois les enregistrer manuellement sous Contents dans ce projet.
Tout support / conseils pour la gestion des données dans les projets serait grandement apprécié !
J'en ai également discuté avec Martin et il m'a proposé d'utiliser vos connaissances/expériences !
Merci!
Acclamations
robert
@martindemel
Automatisation et scriptOrganisation du contenuRe : Facilité d'utilisation des projets via JSLHeureux que tu es parvenu à le faire fonctionner!
Quant aux journaux n'acceptant pas << Enregistrer sous (), c'est le genre de chose que je considérerais comme un bogue dans JSL. Chaque fois que la syntaxe vraiment évidente ne fonctionne pas, même si une autre moins évidente fonctionne, informez-en le support technique de JMP. Ils enregistreront un bogue avec vos commentaires et le transmettront au développeur JMP approprié. Bien que je ne puisse pas faire de promesses précises, nous donnons la priorité aux problèmes signalés par les clients, il y a donc de fortes chances que nous puissions les résoudre d'ici la prochaine version.
Aa
Re : Facilité d'utilisation des projets via JSLTrouvé moi-même...
Les journaux doivent être enregistrés comme :
obj << SaveJournal("PATH");Merci!
robert
Re : Facilité d'utilisation des projets via JSLSalut Aaron,
cela aide beaucoup pour les tableaux de données !
Merci!
Cependant, j'ai aussi un journal que j'aimerais enregistrer sous Sommaire (manuellement pas de problème mais je veux que JSL le fasse pour moi...).
Cela ne semble pas fonctionner pour les revues ?
Votre approche suggérée ne fonctionne-t-elle que pour les tableaux de données ? (il me manque probablement quelque chose...)
Merci!
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");
);
Re : Facilité d'utilisation des projets via JSLLe moyen le plus simple d'enregistrer des éléments dans le contenu du projet dans JSL consiste à utiliser le répertoire spécial $PROJECT, qui peut être utilisé (similaire à $SAMPLE_DATA, $DESKTOP, etc.) dans à peu près toutes les API JSL utilisant des chemins.
$PROJECT n'est défini qu'à l'intérieur des projets, donc lors de la création d'un projet via JSL, il doit être à l'intérieur de la commande Run Script() :
prj = New Project(
Run Script(
dt = new Table("My table");
dt << Save As("$PROJECT/my table.jmp");
)
);
ou comme ceci :
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");
);
ou même:
prj = New Project();
prj << Run Script(
Copy File("$SAMPLE_DATA/Big Class.jmp", "$PROJECT/data/Big Class.jmp");
);
J'espère que cela pourra aider!
Aa