Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Existe-t-il un moyen simple de diviser une colonne contenant une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?
J'utilise JMP17.

Analyse et modélisation des données de baseRe : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Essayez quelque chose comme ça
dt = Current Data Table();
dt << Begin data update;
For( j = 1, j <= N Rows( dt ), j++,
For( i = 1, i <= 500, i++, //you might want to use length of the string than 500
dt << New Column( Word( i, Column( dt, 1 )[j], "" ) )
)
);
dt << End data update;
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Voici une approche un peu différente du problème.Il utilise certaines fonctions JMP intégrées qui peuvent s'avérer plus rapides que @Jackie_ approche.
Names Default To Here( 1 );
dt = Current Data Table();
// Create a new column that has a delimiter between each character
dt << New Column( "Char",
character,
set each value(
x = Words( As Column( 1 ), "" );
Concat Items( x, "`" );
)
);
// Use Text to Columns to create the new columns and populate them
dt << text to columns( columns( char ), delimiters( "`" ) );
// Cleanup the table
dt << delete columns( char );
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Je suis nouveau dans les scripts. Existe-t-il un moyen de spécifier la colonne dans laquelle effectuer ce split char ?
À l'heure actuelle, je supprime toutes les autres colonnes et ne laisse que la colonne contenant la longue chaîne. IL a fonctionné à merveille.
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Mon JMP ne répond pas lorsque j'essaie vos scripts. C'est probablement parce que ma table est grande. Je suppose que cela fonctionnera pour une table plus petite.
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?pas grave. J'ai seulement besoin de mettre cette colonne comme 1ère colonne dans un tableau. Merci beaucoup pour votre aide
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Dans le JSL que j'ai fourni, la colonne à utiliser pour séparer en plusieurs colonnes est référencée comme
As Column( 1 )
Cela spécifie que la fonction Words() doit utiliser la première colonne de la table de données pour effectuer la séparation des caractères.La valeur numérique peut être modifiée pour pointer vers le numéro de colonne souhaité.Le numéro de colonne peut également être remplacé par le nom de colonne réel.
as column( "the column name" )
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Toutes les réponses que vous avez obtenues jusqu'à présent étaient bonnes. mais il existe une autre option sans script.
pourtant, le texte ajouté aux cols fonctionne très bien
https://community.jmp.com/t5/JMP-Add-Ins/Text-to-Columns-Version-3/ta-p/21621
laissez simplement le délimiteur vide et il divisera chaque lettre en une nouvelle colonne en seulement 3 clics.
pour une raison quelconque, l'utilisation du texte intégré aux colonnes à partir des cols >> utilitaires >> texte aux colonnes ... ne fonctionnera pas sans séparateur
Re : Comment diviser une longue chaîne de 500 caractères en 500 colonnes, un caractère par colonne ?Merci beaucoup. C'est tellement facile à utiliser. merveilleuse astuce à savoir !