J'ai deux sources de données que j'ai besoin de rassembler et de créer un tableau principal pour l'analyse et la création de rapports.
L'un est au format .csv (Résultat 1) et l'autre au format .xlsx (Résultats 2). Le fichier au format .xlsx J'ai besoin de spécifier les paramètres de feuille de calcul individuels et la feuille à ouvrir lors de l'importation. J'ai vu les messages suivants mais je n'ai pas réussi à le faire fonctionner:
https://community.jmp.com/t5/JMP-Scripts/Combine-multiple-txt-or-csv-files/ta-p/24083
https://community.jmp.com/t5/Discussions/How-do-I-get-the-import-file-settings-right-before-concatenating/mp/39286#M22977
Sur les résultats 1, je dois spécifier les colonnes 1 à 3. Sur les résultats 2, je dois spécifier les colonnes 1 à 16 et les lignes 6 à 7 sur la feuille de protocole. De plus, après avoir importé les résultats 2, je devrai alors transposer de la colonne 3 jusqu'à la colonne n (n signifie non vide), en le transposant par la colonne 1.
Je devrai ensuite joindre les tables résultantes en fonction des colonnes correspondantes.
Quelqu'un pourrait-il fournir un script pour cela ou donner quelques exemples afin que je puisse le résoudre moi-même?
Merci
Je pense que la meilleure façon de démarrer avec JSL est d'utiliser le script généré par JMP lorsque vous utilisez l'interface pointer-cliquer.
Commençons par l'importation des résultats 1. Tout ce que vous devez faire est de l'ouvrir (Fichier> Ouvrir) et la table JMP résultante aura un script "source". Faites un clic droit dessus et Modifier pour obtenir le script qui effectuera cette importation. (Ne vous inquiétez pas des colonnes supplémentaires dont vous n'avez pas besoin - vous pouvez spécifier celles dont vous avez besoin lorsque vous rejoignez des tables plus tard.) Votre script devrait ressembler à ceci mais avec le chemin d'accès complet au lieu de "C:\.. .".
Open(
"C:\...",
columns(
New Column( "Sample", Character, "Nominal" ),
New Column( "Hour", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Average", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Minimum", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Maximum", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 1 ) ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
Pour le fichier Excel, vous pouvez utiliser l'assistant d'importation Excel . Vous pouvez spécifier la feuille de calcul et les numéros de ligne où les données commencent et se terminent. Encore une fois, vous pouvez ensuite obtenir le script source à partir de la table JMP résultante.
Open(
"C:\...",
Worksheets( "Protocol" ),
Use for all sheets( 0 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 2 ),
Headers Start on Row( 1 ),
Data Starts on Row( 9 ),
Data Starts on Column( 1 ),
Data Ends on Row( 10 ),
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( "-" )
)
)
Si vous associez ces scripts, vous obtiendrez un script qui importera les deux tables dans JMP, ce qui est un bon début. Une chose que vous devez savoir est que vous devez ajouter un point-virgule, ";", à la fin de chaque action lorsque vous avez une séquence d'actions dans un script.
Une autre chose que vous devrez savoir est que vous souhaitez créer des références pour vos tables de données dans votre script. Vous pourriez donner à chaque table une référence comme dt1, dt2 ...
Dans ce prochain morceau de script, j'ai modifié l'importation Results1 pour donner à la table résultante une référence, dt1, et j'ai ajouté un point-virgule à la fin afin qu'il fonctionne lorsque j'ajouterai le script pour la prochaine action plus tard.
dt1 = Open(
"C:\...",
columns(
New Column( "Sample", Character, "Nominal" ),
New Column( "Hour", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Average", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Minimum", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Maximum", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 1 ) ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
Évidemment, il y a plus à faire ici pour obtenir votre solution, mais j'espère que cela vous aidera comme point de départ.
Phil