comment créer un script pour importer xls vers jmpj'ai un problème concernant l'importation d'un fichier xls vers jmp à l'aide d'un script
je veux importer ce fichier en utilisant la ligne "7" comme en-tête et ajouter une nouvelle colonne "Lot id" remplir les données en tant que données de cellule B3 (B6C141-02B5) dans la nouvelle colonne
Comment puis-je faire ceci
merci

Automatisation et scriptÉtudes de consommation et de marchéAccès aux donnéesRe : comment créer un script pour importer xls vers jmpComme txNelson et Ian l'ont mentionné, votre tableau de données n'a pas un très bon format pour une analyse statistique, mais c'est malheureusement assez souvent le cas dans l'industrie, en particulier lorsque les outils de tableur sont principalement utilisés. Les données statistiques doivent être présentées en colonnes et en lignes sous forme rectangulaire dans la mesure du possible. Sinon, vous devez spécifier chaque cellule pour le calcul au lieu d'utiliser des vecteurs et des matrices, ce qui serait beaucoup plus efficace. C'est pourquoi txNelson a importé la feuille deux fois et extrait les informations, comme l'a fait Ian de la même manière.
Il y a quelque temps, j'ai eu une présentation de découverte sur les astuces pour importer des données à partir d'Excel qui, je crois, sont toujours valables : Contourner les pièges courants en travaillant avec des données Excel dans JMP (JMP Discovery Summit Europe 2016)
A également écrit quelques blogs sur l'importation à partir d'Excel. Différents cas que le vôtre mais peut-être utile pour d'autres situations :
Blogs de Martin sur Excel et JMP
Re : comment créer un script pour importer xls vers jmpJe pense que vous aurez besoin de connaître un peu JSL, et cela devrait vous aider à démarrer. La "meilleure" approche sera déterminée par ce que vous pouvez (et ne pouvez pas) supposer sur la structure des données au-delà de l'exemple que vous avez donné.
Ce code n'est pas du tout robuste et suppose que votre fichier se trouve dans le dossier "téléchargements". Si vous regardez 'Help > Books > Scripting Guide', vous pouvez probablement comprendre ce qu'il fait (en fonction de votre expérience de codage).
NamesDefaultToHere(1);
dt = Open("$DOWNLOADS/test_import.xlsx");
lid = Column(dt, 2)[2];
colNames = {};
InsertInto(colNames, Column(dt, 1)[11]);
InsertInto(colNames, Column(dt, 2)[11]);
InsertInto(colNames, Column(dt, 3)[7]);
InsertInto(colNames, Column(dt, 4)[7]);
InsertInto(colNames, Column(dt, 5)[7]);
InsertInto(colNames, Column(dt, 6)[7]);
InsertInto(colNames, Column(dt, 1)[2]);
dt << deleteRows(1::11);
for(c=1, c<=NItems(colNames), c++, Column(dt, c) << setName(colNames[c]));
Column(dt, colNames[NItems(colNames)]) << setValues(Repeat(lid, NRows(dt)));
dt << setName("Data for lot "||lid);Re : comment créer un script pour importer xls vers jmpVoici le script pour entrer vos données
J'ai utilisé l'assistant JMP Excel pour ouvrir le fichier de manière interactive, puis j'ai copié le script source que JMP a créé pour le placer dans le script.Le script lit deux fois le fichier.D'abord pour lire les données, puis la deuxième fois pour lire l'ID de lot.J'ai ensuite juste ajouté le code pour vous permettre de sélectionner le fichier Excel à importer, et le JSL requis pour créer la nouvelle colonne Lot ID.
names default to here(1);
path = Pick File();
dt = Open(
path,
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( 7 ),
Headers Start on Row( 6 ),
Data Starts on Row( 13 ),
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( "-" )
)
);
dtLotID = Open(
path,
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 0 ),
Number of Rows in Headers( 7 ),
Headers Start on Row( 6 ),
Data Starts on Row( 3 ),
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( "-" )
)
);
lotID = dtLotID:Column 2[1];
close(dtLotID, nosave );
dt << New Column("Lot ID", Character, set each value(lotID));