JSL - Importation d'une feuille de calcul Excel spécifique et modification<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
Tout d'abord, j'utilise JMP 11
J'essaie de créer un modèle de script que mes analystes pourront utiliser à l'avenir. Je suis nouveau sur JSL et j'essaie de comprendre comment importer une feuille de calcul spécifique dans JSL, puis modifier des variables particulières pour qu'elles soient numériques et ajouter un nouveau calcul.
Lorsque j'essaie la partie d'importation de ce code, il ouvre l'assistant d'importation plutôt que de créer une nouvelle table de données appelée "Nos données".
--
dtmain = New Table("Nos données",
Ouvrir("C:\Testing Data.xlsx",
Feuilles de calcul( "Données finales"),
)
);
Tableau de données actuel (dtmain);
colonne (dtmain, "Type") <
colonne (dtmain, "Result1) <
colonne (dtmain, "Result2") <
Nouvelle colonne( "Taux de résultats",
numérique,
Continu,
Format( "Meilleur", 12 ),
Formule( :Résultat1 / :Résultat2 )
);
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationComme alternative, il existe la fonction "Pick File()" pour choisir le fichier spécifique dans le chemin du fichier, qui peut être intégrée dans la fonction Open() :
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);Ou une autre possibilité est de nommer le fichier excel toujours avec un nom identique afin que le script Open() puisse être utilisé avec ce nom spécifique :
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationVous ne pouvez pas avoir la partie Worksheets en dehors de Open, car elle fait référence au fichier à ouvrir.Il n'y a vraiment aucun moyen de spécifier les paramètres par défaut pour une ouverture générale dans JSL.Le JSL est destiné à ouvrir des feuilles connues avec des noms et des paramètres connus.Désolé.
Brian Corcoran
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationquel est le format si nous voulons ouvrir n'importe quel fichier ?
J'ai utilisé ceci mais n'a pas fonctionné
Ouvrir ();
Des feuilles de calcul ( "Planètes" ) ,
Utiliser pour toutes les feuilles ( 1 ) ,
Concaténer des feuilles de calcul ( 0 ) ,
Créer une colonne de concaténation ( 0 ) ,
1 ,
A des en-têtes de colonne ( 1 ) ,
Nombre de lignes dans les en-têtes ( 1 ) ,
Les en-têtes commencent sur la ligne ( 2 ) ,
Les données commencent sur la ligne ( 3 ) ,
Les données commencent sur la colonne ( 1 ) ,
Les données se terminent sur la ligne ( 0 ) ,
Les données se terminent sur la colonne ( 0 ) ,
Lignes étendues répliquées ( 1 ) ,
Supprimer les lignes masquées ( 1 ) ,
Supprimer les colonnes masquées ( 1 ) ,
Traiter comme une hiérarchie ( 0 )
));
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationOui merci! J'avais déjà essayé cela avec mon code précédent, et il ouvrait une table de données avec une seule colonne vide. Ce faisant avec le changement de code mentionné ci-dessus a fonctionné.
Merci beaucoup!
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationLe moyen le plus simple pour vous d'obtenir la partie File Open de la JSL correcte serait d'abord d'ouvrir le fichier à l'aide de l'interface utilisateur et de l'assistant Excel.Ensuite, dans le tableau ouvert, vous verrez un script source.Ce script contient le JSL nécessaire pour rouvrir la table exactement de la même manière.Vous pouvez cliquer dans le contexte sur le script source et sélectionner Modifier pour extraire le JSL.Un exemple tiré d'un de mes tableaux est :
Ouvrir (
"C:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx" ,
Des feuilles de calcul ( "Planètes" ) ,
Utiliser pour toutes les feuilles ( 1 ) ,
Concaténer des feuilles de calcul ( 0 ) ,
Créer une colonne de concaténation ( 0 ) ,
1 ,
A des en-têtes de colonne ( 1 ) ,
Nombre de lignes dans les en-têtes ( 1 ) ,
Les en-têtes commencent sur la ligne ( 2 ) ,
Les données commencent sur la ligne ( 3 ) ,
Les données commencent sur la colonne ( 1 ) ,
Les données se terminent sur la ligne ( 0 ) ,
Les données se terminent sur la colonne ( 0 ) ,
Lignes étendues répliquées ( 1 ) ,
Supprimer les lignes masquées ( 1 ) ,
Supprimer les colonnes masquées ( 1 ) ,
Traiter comme une hiérarchie ( 0 )
));
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationMalheureusement, il ouvre toujours l'assistant d'importation Excel. Il y a plusieurs feuilles de calcul dans le fichier Excel si cela fait une différence, bien que je pense que la commande Feuilles de calcul empêcherait que cela ne soit un problème.
Re : JSL - Importation d'une feuille de calcul Excel spécifique et modificationEssayez de séparer les commandes d'ouverture et de renommage :
dtmain = Ouvrir ( "C:\Testing Data.xlsx" , Des feuilles de calcul ( "Données finales" )) ;
dtmain << Définir le nom ( "Nos données" ) ;