Modèle de script pour créer des fichiers jrp à partir de csv<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut les gars
Je suis nouveau sur JMP Pro et sur son langage de script, ainsi que sur ces forums SAS.
Si vous pensez que je poste ma question au mauvais endroit - faites le moi savoir et veuillez m'excuser,
Mon but est de créer un script qui :
ouvrir le fichier CSV
créer un graphique de variabilité basé sur le tableau de ce fichier
enregistrer le résultat en tant que fichier JRP
À présent quelques détails .
Le fichier CSV peut être énorme en nombre de lignes. Ce fichier commence par une ligne de noms de colonnes. Supposons que le chemin complet vers ce fichier est " Chemin vers CSV ".
J'ai un script qui crée un graphique de variabilité dont j'ai besoin. Supposons que le texte de ce script est " ChartScript ".
En conséquence, je veux obtenir un fichier .JRP qui contiendra à la fois les données du fichier CSV et du graphique, supposons que le chemin vers le fichier JRP souhaité est " Chemin du rapport souhaité ".
Je sais que les noms de colonne dans mon script qui crée le graphique sont corrects et que ces colonnes sont effectivement présentes dans le fichier CSV.
Plus de détails:
En fait, j'écris une application C # qui automatise le processus d'analyse du journal de test. Il fait beaucoup de choses (non pertinentes pour JMP).
Nous avons un environnement qui crée beaucoup de fichiers csv avec des schémas connus.
Nous avons des spécialistes qui savent ouvrir ces fichiers dans JMP Pro et créer les graphiques dont ils ont besoin.
Ainsi, ces personnes peuvent me donner des scripts précis pour ces graphiques. Ils ont différents graphiques pour différents schémas de CSV.
Je fusionne ces csv avec les mêmes schémas dans mon application, puis je veux utiliser l'interopérabilité JMP pour exécuter le script que je veux construire.
Je vais exécuter le script différent pour chaque fichier CSV fusionné. J'ai donc besoin de créer un modèle pour le script.
Question : Quel serait le script pour faire ce que je veux ?
Je suppose qu'il a la construction suivante :
X1 Chemin vers CSV X2 ChartScript X3 Chemin du rapport souhaité
Où X1 ouvre le fichier CSV et crée une table de données,
X2 ouvre un nouvel onglet (?) pour le graphique et le crée
X3 enregistre tout le travail dans le chemin souhaité
Salutations,
Artem ;
Re : modèle de script pour créer des fichiers jrp à partir de csvDans ce cas, vc est le graphique de variabilité, c'est la variable (handle) pour adresser la fenêtre de rapport.
vc<
Dans l'exemple, j'ai enregistré le journal "jvs" sous plusieurs types de fichiers. Nous aurions pu simplement enregistrer "vc" comme l'un de ces types de fichiers.
L'envoi de plusieurs rapports à un journal, puis l'enregistrement du journal est pratique lorsque je ne veux pas perdre de temps à créer une fenêtre de rapport plus jolie, par exemple un générateur d'applications.
Il y a tellement de flexibilité avec JSL que vous pouvez vraiment construire presque tout ce que vous pouvez imaginer.
Re : modèle de script pour créer des fichiers jrp à partir de csvMerci pour la réponse Byron !
Le script que vous avez donné est presque ce dont j'ai besoin.
Cependant, il y a des choses qui me manquent/ne comprennent pas.
Je pense que j'ai un problème avec les deux lignes suivantes:
jvs=vc<
jvs << enregistrer le journal( "C:/testJRN.jrn" );
Tout d'abord - sont-ils connectés ? Cela signifie que si je veux enregistrer uniquement une image du graphique de variabilité, dois-je encore avoir le
" jvs=vc< " ligne dans mon modèle ?
Et je sais avec certitude que je n'aurai besoin que de deux options (J'ai donc besoin de deux modèles, ou d'un modèle avec un paramètre supplémentaire):
1 - Enregistrer l'image du graphique créé
2 - Enregistrez quelque chose qui
- contient toutes les données du CSV
- contient le graphique créé
- permet de continuer à travailler avec deux ci-dessus
Alors, le journal est la bonne option pour la seconde ? Ou "signaler" ?
Peut-être que la dernière chaîne devrait ressembler à :
jsv<< enregistrer le rapport("C:/testReport.jrp");
Salutations,
Artem
Re : modèle de script pour créer des fichiers jrp à partir de csvJe soupçonne que cette réponse est une simplification grossière, mais il suffit d'ouvrir un CSV (en supposant que les données sont bien structurées) de générer un rapport (JMP appelle les rapports de sortie), de journaliser le résultat et d'enregistrer le journal n'est pas très complexe.
JMP écrit la majeure partie de cela pour vous. Capturez simplement les scripts du script source dans le fichier ouvert et le script de rapport du rapport de variabilité. Le formatage du CSV avant de l'ouvrir dans JMP est la partie la plus difficile.
J'espère que ça aide,
Byron
exemple : (passez ceci dans une fenêtre de script JMP
path=get default directory();//gets dir où ce script est enregistré
//JMP écrit cette instruction lorsqu'il ouvre le fichier. Vérifier le script source dans une table JMP à partir d'un CSV
dt=Ouvrir(
"C:\Program Files\SAS\JMPPRO\11\Samples\Import Data\Book1.csv",
// ce fichier peut se trouver à un emplacement différent sur votre installation.
Colonnes(
Column( "1", Numeric, nominal, Format( "Best", 10 ) ),//J'ai fait cette colonne nominale pour l'exemple
Column( "2", Numeric, nominal, Format( "Best", 10 ) ),//J'ai fait cette colonne nominale pour l'exemple
Colonne( "3", Numérique, Continu, Format( "Meilleur", 10 ) )
),
Importer les configurations(
Fin de ligne ( CRLF, CR, LF ),
Fin de champ ( virgule, CSV ( 1 ) ),
Bande Citations( 0 ),
Utilisez l'apostrophe comme guillemet( 0 ),
Numériser le fichier entier (1),
Traiter les colonnes vides comme numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Étiquettes( 1 ),
Noms de colonne Début( 1 ),
Les données commencent ( 2 ),
Lignes à lire( "Toutes" ),
Règle de l'année( "20xx" )
)
);
//jmp a écrit le script pour ce graphique de variabilité. Copiez simplement le script du rapport
vc=dt<
Y( :Nom( "3" ) ),
X( :Nom( "1" ), :Nom( "2" ) ),
Max Iter( 100 ),
Limite de conversion (0,00000001),
Nombre d'abscisses d'intégration ( 128 ),
Évaluations de la fonction numérique (65536),
Type d'analyse( Nom( "Choisir la meilleure analyse (EMS REML Bayésien)" ) ),
Std Dev Chart( 0 )
);
jvs=vc<
// enregistre le journal "jvs" dans le chemin, concaténé au nom du fichier
jvs << enregistrer le journal (chemin || "testJRN.jrn" );
// ou d'autres types de fichiers pratiques
jvs << enregistrer pdf( chemin || "testPDF.pdf" );
jvs << enregistrer l'image (chemin || "testPNG.png", png );
jvs << Enregistrer le HTML interactif (chemin || "testHTML.htm" );
jvs << Enregistrer MSWord( chemin || "testDOC.doc" );