Script JMP : nouvelle colonne pour chaque valeur spécifiée dans la colonneBonjour à tous,
J'essaie de créer de nouvelles colonnes pour chaque valeur numérique qui vient après |90= et d'étiqueter les colonnes comme la chaîne qui précède |90, donc le pX ou tout ce qui le précède. Voir la photo ci-jointe ci-dessous à titre d'exemple.

Donc, dans la première ligne, j'aimerais récupérer le 93 qui vient après "p1|90=" et créer une nouvelle colonne intitulée "p1". J'aimerais faire cela pour chaque numéro qui vient après tous les "pX|90=". Ce pX peut aussi être sX ou rX ou pXa/b/c/... et ainsi de suite. J'aimerais donc également créer de nouvelles colonnes pour ces valeurs. Le nombre de points de données par ligne varie considérablement, d'une seule (1) valeur pX|90= à 15 valeurs pX|90= différentes, peut-être avec certaines valeurs avec sX|90= ou rX|90=.
J'utilisais la fonction Word qui récupérait les valeurs de données pX|00. Maintenant, je veux en récupérer seulement 90 et j'ai essayé d'utiliser le script précédent que j'utilisais pour cela, mais j'ai constaté qu'il ne récupérait pas toutes les valeurs que je voulais.

Cela concerne des centaines, voire des milliers de lignes, donc le faire manuellement n'est pas tenable.
Quelle(s) fonction(s) est-il judicieux d'utiliser ici ?
Je suis nouveau dans les scripts JMP, je suis prêt à apprendre et à écouter toutes les idées. Merci!
Modélisation statistique avancéeAutomatisation et scriptsÉtudes de consommation et de marchéPersonnalisation de masseIngénierie Qualité et Procédésles fenêtresRe : JMP Script : Nouvelle colonne pour chaque valeur spécifiée dans la colonneAucune idée si c'est la meilleure façon, mais c'est assez simple.
Names default to here(1);
dt= New Table( "splitting bunches",
Add Rows( 1 ),
New Column( "Fun",
Character,
"Nominal",
Set Values( {"<P>p1|00=51;p1|90=32;p2|00=48;p2|90=90;",
"</P><P>p1|00=47;p1|90=60;p4|00=73;p4|90=49;"
} )
),
);
dt << New Column("just_delim",
// this is just getting rid of that beginning part as I image you don't want it.
character, formula(substitute(:Fun, "</P><P>", ""))
);
// split it on ; into however many columns
dt << Text To Columns(
delimiter( ";" ),
columns( :just_delim )
);
// get the columns you just made
cols_to_stack = (dt << get Column References)[3::ncols(dt)];
// stack them now
dt_stack = dt << Stack(
columns( cols_to_stack ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ), output table("stacked")
);
// same thing
dt_stack << Text To Columns(
delimiter( "|=" ),
columns( :Data )
);
dt_stack:"Data 1"n<<SET name=""></SET></P>Re : JMP Script : Nouvelle colonne pour chaque valeur spécifiée dans la colonneA travaillé pour moi ET c'est logique. Merci! Je suis content que vous ayez trouvé cela "amusant".