Script : supprimez le préfixe de la chaîne et affichez la colonne modifiée dans un fichier ExcelSalut à tous. J'ai suivi les conseils de https://community.jmp.com/t5/Discussions/String-parsing-formula/td-p/51077 et quelques autres références pour écrire des données dans des fichiers, principalement applicables aux fichiers texte en morceaux, mais j'ai trouvé le
Save Excel File()
fonction dans l'index de script. Je ne sais pas ce que le dernier paramètre signifie/fait ? Ce n'est pas expliqué. C'est-à-dire,
Separate Rows for Each Cell Statistic( 1 )
Est-ce important ? Il n'écrit rien dans aucun fichier à l'emplacement que j'ai spécifié, que ce paramètre soit présent ou non.
Voici un aperçu de mon script :
dt = Current Data Table();
c = Words(:ID, "_");
Write(c);
s = c[2] || "_" || c[3] || "_" || c[4] || "_" || c[5];
Write(s);
s << Save Excel File(
"$DOCUMENTS\temp.xlsx",
Separate Rows for Each Cell Statistic( 1 )
);
J'essaie donc de supprimer le préfixe et de conserver les quatre "blocs de mots" restants ainsi que leurs traits de soulignement, que je rajoute manuellement via la concaténation de chaînes. Voir https://community.jmp.com/t5/Discussions/string-and-variable-concaténation/td-p/56308 pour la concaténation de chaînes "||" référence.
Quoi qu'il en soit, aucun fichier ne s'affiche dans $DOCUMENTS\temp.xlsx.
Aussi le, euh, comment ça s'appelle, terminal, fenêtre, journal, me donne l'erreur
Subscript Range in access or evaluation of 'c[2]' , c[/*###*/2]
et je ne sais pas pourquoi. Aucune chaîne ou colonne n'est générée à la suite des instructions Write () que j'ai incluses.
Donc, fondamentalement, rien ne fonctionne comme il se doit. La case départ, je suppose !
Faites-moi savoir quels conseils vous pouvez tous penser.
Acclamations,
Mike
Tableau de donnéesScriptRe : Script : Supprimer le préfixe de la chaîne et afficher la colonne modifiée dans un fichier ExcelSalut,
Lorsque j'ai affaire à des chaînes, j'ai tendance à préférer travailler avec des fonctions spécifiques aux chaînes (par exemple, Substitute (), Munger (), Right (), Word ()) ;
Par conséquent, dans votre cas, je suggérerais la formule suivante pour supprimer la première partie de la chaîne IDS, y compris la première instance du caractère "_":
Substitute( :IDS, Word( 1, :IDS, "_" ) || "_", "" )
Meilleur,
ST
Re : Script : Supprimer le préfixe de la chaîne et afficher la colonne modifiée dans un fichier ExcelJe pense que Enregistrer le fichier Excel est un cas particulier pour la plate-forme d'analyse de réponse catégorielle Options de plate-forme catégorielles supplémentaires . Pour enregistrer une table de données en tant que fichier Excel, vous pouvez simplement utiliser << Enregistrer (chemin).
Actuellement, vous essayez d'enregistrer une seule chaîne dans un fichier Excel, chaîne créée à partir de la première ligne de la table de données. En fonction de la manière et de ce que vous souhaitez enregistrer, vous disposez de différentes options. Vous en trouverez ci-dessous une où les valeurs de la colonne :ID sont remplacées par de nouvelles valeurs avec les caractères avant le premier _ supprimés :
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(3),
Compress File When Saved(1),
New Column("ID", Character, "Nominal", Set Values({"1_2_3_4_5_6", "2_3_4_5_6_7", "3_4_5_6_7_8"}))
);
Wait(1);
dt:ID << Set Each Value(
Substr(:ID, Contains(:ID, "_")+1)
);
dt << Save("$DOCUMENTS\test.xlsx");Vous pouvez également créer une nouvelle colonne avec les nouvelles valeurs, ce qui est probablement une meilleure approche.
Re : Script : Supprimer le préfixe de la chaîne et afficher la colonne modifiée dans un fichier ExcelMerci pour la réponse, @Thierry_S ! J'essaie actuellement votre scriptlet ainsi que d'autres choses.
Cela peut sembler une chose très simple pour la plupart, mais je ne sais pas vraiment quelle est la meilleure façon de visualiser la sortie à des fins de débogage lorsque plus qu'une variable à valeur unique est impliquée, c'est-à-dire comment faire apparaître une seule colonne dans un nouvelle table de données (en utilisant JSL uniquement), ou imprimez la colonne dans le journal, ou quelque chose comme ça.
Je ne me souviens pas, peut-être que je l'ai déjà fait et que je ne fais que faire un blanc, mais je me sens un peu idiot de demander.
Merci encore!
Mike
Re : Script : Supprimer le préfixe de la chaîne et afficher la colonne modifiée dans un fichier ExcelDe plus, en général, si vous avez une fonction qui accepte un paramètre ou une variable, le passage dans une colonne exécutera-t-il la fonction par élément dans la colonne ?
Mike
Re : Script : Supprimer le préfixe de la chaîne et afficher la colonne modifiée dans un fichier Excel
De plus, en général, si vous avez une fonction qui accepte un paramètre ou une variable, le passage dans une colonne exécutera-t-il la fonction par élément dans la colonne ?
Non. Habituellement, si vous avez besoin d'évaluer quelque chose pour chaque ligne d'une table de données, vous souhaiterez soit créer une colonne de formules dans la table de données, soit utiliser le Pour chaque ligne() itérateur.
Le JMP 16 a présenté le Pour chaque() fonction pour itérer sur les structures de données JSL : listes, tableaux associatifs ou matrices.