script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresSalut,
J'essaie d'exporter certains tableaux de données JMP vers Excel (un fichier Excel avec des onglets séparés pour chaque feuille). Cependant, certains noms de feuilles de données comportent plus de 31 caractères, ce qu'Excel ne prend pas en charge comme noms d'onglets. Si j'essaie d'utiliser l'option "Exporter" dans JMP, cela fonctionne bien avec les noms de plus de 31 caractères tronqués. Mais si j'essaie d'utiliser « Créer un classeur Excel () » dans un script JMP, le logiciel plante.
Quelqu'un pourrait-il m'aider avec le script à utiliser pour exporter vers Excel tout en tronquant les noms de feuilles qui sont plus longs que les 31 caractères autorisés par Excel, s'il vous plaît ?
Merci
Personnalisation de masseles fenêtresRe : script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresTransformEach peut être remplacé par une boucle for, quelque chose comme ça
// dt_names = Transform Each({dt_ref}, dt_list, Substr(dt_ref << get name, 1, 31));
// for every dt_ref in dt_list, make a new list using substr...
dt_names = {};
for( i = 1, i <=nitems(dt_list), i += 1,
dt_ref = dt_list[i];
insert into( dt_names, substr( dt_ref << get name, 1, 31 ) );
);Re : script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresPour ajouter à ma question, disons que j'ai environ 100 fichiers jmp individuels à exporter en même temps. Je ne serais pas en mesure de définir les noms de chaque fichier séparément sur le script. Donc, ce que je veux que le script fasse, c'est exporter tous les fichiers jmp ouverts à ce moment-là, y compris ceux avec un nom très long.
Re : script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresUn grand merci jthi. Cependant, j'ai JMP 15 et il semble que le script ne puisse pas exécuter la commande Transformer. Auriez-vous connaissance d'un script alternatif s'il vous plait ?
Re : script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresDésolé, jthi a écrit le script.
Re : script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresSalut DD1,
Tout d'abord, merci tdhi pour le script.Si le partage ne vous dérange pas, veuillez envoyer le script qui plante au support technique de JMP à l'adresse support@jmp.com et nous essaierons de corriger le comportement de plantage pour une future version.
Brian Corcoran
Développement JMP
Re : script jmp pour exporter des feuilles de données vers Excel avec des noms de feuilles de plus de 31 caractèresVous pouvez utiliser Substr pour obtenir une partie de la chaîne et dt_ref << get name pour obtenir le nom de la table de données. Vous trouverez ci-dessous un exemple qui devrait vous aider à démarrer (nécessite JMP16 en raison de l'utilisation de Transform Each) :
<BR />Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Abrasion.jmp");
dt1 << Set Name("veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongname");
dt2 << Set Name("notsolongname");
dt_list = {dt1, dt2};
dt_names = Transform Each({dt_ref}, dt_list, Substr(dt_ref << get name, 1, 31));
Show(dt_names);
Create Excel Workbook("$TEMP/MyWorkbook.xlsx", dt_list, dt_names);
Close(dt1, no save);
Close(dt2, no save);