Alphabétiser ou trier les cellules avant de fusionner / concaténer<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
Après avoir cherché et cherché via le manuel JMP Je n'arrive pas à trouver une solution à mon problème qui, j'en suis sûr, est simple.
J'ai plusieurs colonnes qui contiennent toutes des données similaires sur la base de codes spécifiques. Par exemple:
Code 1 Code 2
K26.3 U20.2
K26.3
K26.2
K26.2 U20.2
U20.2 K26.2
U20.2 K26.2
K26.2
U20.2 K26.3
K26.2 U20.2
U20.2 K26.2
U20.2 K26.2
U20.2 K26.2
K26.2 K33.9
U20.2 K26.2
Le résultat final que je suis après va trier ces codes par ordre alphabétique, puis se concaténer pour créer un nouveau code pouvant ensuite être utilisé pour une analyse statistique. Pensez-y comme à un groupe trié ou alphabétique.
Par exemple, le premier code pourrait donner "K26.3-U20.2", le second ne serait que "K26.3", le dernier étant "K26.2-U20.2".
Des idées comment Je peux le faire dans JMP?
Re: Alphabétiser ou trier les cellules avant de fusionner / concaténerC'est parfait. J'ai extrapolé la formule pour inclure des codes supplémentaires et cela fonctionne un charme! Merci beaucoup!
sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[1]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[2]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[3]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[4]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[5]Re: Alphabétiser ou trier les cellules avant de fusionner / concaténerOui, cela facilite les choses, mais les deux formules ci-dessus devraient fonctionner.
Sans le trait d'union, cette formule de colonne fonctionne:
liste de tri ( evallist ({ : Code 1 ,: Code 2 })) [ 1 ] || liste de tri ( evallist ({ : Code 1 ,: Code 2 })) [ 2 ]
Re: Alphabétiser ou trier les cellules avant de fusionner / concaténerSi cela vous facilite la tâche, vous pouvez exclure le trait d'union - c'est uniquement là pour faciliter la division ultérieure des codes.
Re: Alphabétiser ou trier les cellules avant de fusionner / concaténerSi je comprends bien le problème, ce n’est pas très simple car l’ordre est important ainsi que les cellules vides ne doivent pas avoir le trait d’union "-". Donc, une simple formule de concaténation sans instruction conditionnelle ne le fera pas.
Je pense qu’il existe plusieurs solutions (comme souvent dans JMP). Voici deux approches différentes utilisant une formule de colonne. La première formule est basée sur des conditions simples conditionnelles, la seconde crée une liste triée et utilise des expressions régulières pour supprimer les "-" redondants.
Pour essayer, exécutez ce script ou collez simplement l'expression à l'intérieur de Fromula () dans la propriété de formule d'une nouvelle colonne.
tableau de données actuel () << nouvelle colonne ( "Code 1-Code 2" , formule ( Si ( : Code 1 > : Code 2 ,
: Code 2 || Si ( Est manquant ( : Code 2 ) , "" , "-" ) || : Code 1 ,
: Code 1 || Si ( Est manquant ( : Code 1 ) , "" , "-" ) || : Code 2
)));
tableau de données actuel () << nouvelle colonne ( "Code 1-Code 2" , formule (
sl = liste de tri ( evallist ({ : Code 1 ,: Code 2 })) ;
regex ( sl [ 1 ] || "-" || sl [ 2 ] , "^ - * (. +) - * $" , "\1" )
))
Le message a été édité par: Marcus Sundbom
Deuxième formule ajoutée