Empilement basé sur une colonne CSVJ'ai une liste de numéros d'articles uniques, chacun avec une liste correspondante de csv de (20+) catégories.

Existe-t-il un moyen d'empiler en fonction de chaque csv pour obtenir le tableau résultant:

Ma solution actuelle consiste à utiliser "Texte en colonnes" dans Excel, à importer le fichier, puis à les empiler en fonction des colonnes. Existe-t-il un moyen simple de le faire par programmation dans JMP?
Re: empilement basé sur une colonne CSVJe remercie Jeff d’avoir mis au point le texte en colonnes également. En outre, j'ai envoyé à JMP une demande de prise en charge de Tables ==> Stack pour prendre en charge directement plusieurs colonnes de réponse. Cela aurait également été une bonne solution si ce soutien avait été mis en place.
Re: empilement basé sur une colonne CSVMerci Jeff, j'aurais dû regarder ça en premier.
Re: empilement basé sur une colonne CSVMerci beaucoup Jim, ça y est!
J'ai eu à supprimer l'espace dans le ",". Mon ensemble de données utilise uniquement une virgule sans espace.
Re: empilement basé sur une colonne CSV @txnelson vous a donné la solution programmatique que vous avez demandée.
Si vous voulez le faire de manière interactive (à la Excel), JMP a Texte en colonnes dans le menu Col -> Utilitaires. Si vous possédez une version antérieure de JMP sans Text to Columns, vous pouvez télécharger un fichier. ajouter à de l'échange de fichiers.

Re: empilement basé sur une colonne CSVVoici un petit script qui fera l'acte
Names Default To Here( 1 );
dt = Current Data Table();
dtstack = New Table( "stacked", New Column( "item" ), New Column( "Category List", character ) );
For( i = 1, i <= N Rows( dt ), i++,
cnt = 1;
While( Word( cnt, dt:category list[i], ", " ) != "",
dtstack << add rows( 1 );
dtstack:item[N Rows( dtstack )] = dt:item[i];
dtstack:Category List[N Rows( dtstack )] = Word( cnt, dt:category list[i], ", " );
cnt = cnt + 1;
);
);