Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPJ'ai un tas de fichiers Excel, d'une valeur d'environ 2 ans, qui sont compilés mensuellement. Je souhaite importer une feuille de chaque classeur dans JMP. Malheureusement, l'horodatage n'est référencé que dans le titre de chaque classeur et nulle part sur les feuilles que je souhaite importer. Existe-t-il un moyen d'importer le titre du classeur avec la feuille ?
Merci
Accès aux donnéesRe : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPSi je comprends ce que vous voulez, vous pouvez certainement écrire un script JSL capable de gérer cela. L'apparence du script JSL et ce qu'il doit faire dépendent beaucoup des données dont vous disposez et de la manière dont elles sont créées.
Très probablement, vous auriez besoin d'au moins Files In Directory(), d'une boucle For (ou peut-être encore mieux de For Each), d'Open(), puis de quelques fonctions de manipulation de chaînes/tables de données,
Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPSalut @Wendy_Murphrey ,
Toutes mes excuses pour relancer une conversation terminée, mais j'ai une requête de nature similaire.
Tout comme Fiona, je dispose de nombreux fichiers Excel à partir desquels je transfère des données vers JMP pour analyse. Jusqu'à récemment, je faisais cela d'une manière très médiévale où j'ouvrais les fichiers Excel manuellement et copiais les informations pertinentes directement dans les tables JMP. Bien que cela soit tenable, je pense que la fonction d'importation (ainsi que la concaténation à ajouter aux tableaux de données existants) est une bien meilleure solution à long terme pour améliorer l'efficacité.
Quant à Fiona, mes informations pertinentes se trouvent dans la feuille 4 de chaque classeur et sont étiquetées « cycle ». Je dois importer entre 4 et 20 classeurs de ce type à la fois, avec lesquels mettre à jour mes tables JMP. Chaque classeur a un titre de chaîne, généralement de 8 caractères. Il s'agit d'un identifiant unique pour l'objet testé.
Mes questions sont les suivantes : est-il possible pour moi de remplacer le nom de la table générée lors de l'import (par exemple, en ce moment si j'importe 8 fichiers, les tables générées dans JMP sont "cycle" "cycle 2", "cycle 3" etc .) pour être les titres des classeurs Excel originaux (devenant dans cet exemple, "classeur 1", "classeur 2", "classeur 3" etc.) ?
Ma prochaine question concerne la concaténation. Est-il possible pour moi d'écrire un script capable d'analyser une cellule spécifique (par exemple, celui généré par votre script, qui copie le titre du classeur dans une colonne spécifique lors de l'importation), puis d'utiliser la valeur contenue dans cette cellule pour ajouter les informations dans les colonnes restantes vers une table JMP existante ?
Pour clarifier, imaginons que je teste un objet, en l'occurrence étiqueté "A71320". J'ai une table de données JMP également appelée "A71320", qui est une compilation de toutes mes données pertinentes pour cet objet de test. Chaque nouveau test génère un fichier Excel, également intitulé « A71320 ». Je souhaite importer ce fichier à l'aide de votre script. Si je comprends bien, il copiera alors toutes les données de la feuille 4, "cycle", créera une nouvelle table JMP, intitulée "cycle", puis au sein de cette nouvelle table, créera une nouvelle colonne avec 1 cellule remplie, "A71320". . Je voudrais ensuite exécuter un script qui verra cette cellule "A71320", reconnaîtra une table existante dans JMP appelée "A71320" et ajoutera toutes les informations à l'exception de la cellule titulaire, de "cycle" à "A71320". Est-ce possible?
Mes plus sincères remerciements pour avoir pris le temps de lire cette question.
Antilope
Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPGénial!Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMP@fionaweston il semble que le contrôle de l'importation des onglets pour les feuilles Excel serait une amélioration utile de JMP. J'ai trouvé que cette demande était sur le Liste de souhaits JMP - donnez-lui un vote positif et nous verrons peut-être cette amélioration dans JMP à l'avenir !
En attendant, vos collègues JMP ci-dessus ont fourni une solution JSL intéressante pour vous aider.
Meilleur,
Jeff
Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPMerci WendyRe : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPLa réponse de Wendy montre un moyen simple d'ajouter la colonne source lors de la création de l'importation de fichiers multiples.
Utiliser Files in Directory() pour obtenir les fichiers, puis une simple boucle For() lisant un fichier après l'autre, chacun ajoutant la colonne comme Wendy l'a illustré, est une approche très simple à utiliser.
Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPJeff,
L'importation de fichiers multiples a la fonctionnalité dont j'ai besoin et que vous avez mise en évidence (ajoutez une colonne de nom de fichier, dont j'ai besoin car le nom de chaque classeur contient la date ex "04/21 Metrics"). Cependant, lorsque j'utilise l'importation de fichiers multiples, je ne restitue que la première feuille de chaque classeur et j'ai besoin de la 3ème feuille de chacun des classeurs. Existe-t-il un moyen d'obtenir la 3ème feuille de chaque classeur à l'aide de l'importation de fichiers multiples ? J'ai une vingtaine de cahiers d'exercices.
Inversement,
En utilisant Fichier/Ouvrir, je peux appeler la bonne feuille de calcul (feuille 3) de chaque classeur. Alors maintenant, j'ai 20 feuilles de calcul correctes mais je ne peux pas dire de quelle date elles proviennent car cette méthode n'a pas d'option pour créer une colonne source.
Merci
Fiona
Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMP@fionaweston comment importez-vous ces feuilles? L'importation de fichiers multiples comporte une case à cocher pour ajouter des noms de fichiers à une colonne ajoutée au tableau de données final. Vous pouvez créer une colonne de table de données similaire si vous concaténez manuellement des fichiers à l'aide de la plateforme Concatenate. Le nom de fichier de chaque feuille importée sera le titre du fichier qui, en fonction de votre description, doit inclure l'horodatage du fichier.


Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPSalut, @fionaweston .
En supposant que vous utilisez JSL pour importer les données, vous pouvez stocker le nom du fichier (ou toute partie du nom du fichier) dans une variable qui pourrait être utilisée pour remplir une nouvelle colonne.
filepath = "$SAMPLE_IMPORT_DATA/Team Results.xlsx";
file = Word( -2, filepath, "/." );<BR />
dt = Open(
filepath,
Worksheets( "Grouped Team Results" ),
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( 3 ),
Data Starts on Row( 4 ),
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( "-" )
)
);
dt << New Column( "Workbook Name", Character, Set Each Value( file ) );
Alternativement, vous pouvez placer automatiquement les informations souhaitées directement dans le fichier Excel.Voir ce post pour les instructions.
J'espère que cela pourra aider.
Re : Comment puis-je importer des feuilles Excel qui feront référence au nom du classeur Excel lors de leur importation dans JMPLa fonction Open() pour ouvrir des classeurs Excel possède un élément appelé « Feuilles de travail » qui peut être défini dans l'ouverture.Ci-dessous est extrait de l'entrée "Source" pour une feuille de calcul saisie dans JMP.Il montre le nom de la feuille de calcul à lire
feuilles de calcul( "Feuil1" )
Open(
"$DOCUMENTS/Discussion Group/Data wrangling .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( "-" )
)
)