Elaborare alfabeticamente o ordinare le celle prima di unire / concatenare<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Avendo cercato e cercato attraverso il manuale JMP Non riesco a trovare una soluzione al mio problema che sono sicuro sia diretto.
Ho diverse colonne che contengono tutti dati che sono simili sulla base di codici specifici. Per esempio:
Codice 1 Codice 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
Il risultato finale che seguo ordinerà questi codici alfabeticamente e quindi concatenerà per creare un nuovo codice che può essere utilizzato per l'analisi statistica. Pensalo come un gruppo ordinato o alfabetico.
ad esempio il primo codice potrebbe dare come risultato "K26.3-U20.2", il secondo sarebbe solo "K26.3" che l'ultimo sarebbe "K26.2-U20.2".
Qualche idea su come Posso farlo in JMP?
Ri: alfabetizza o ordina le celle prima di unire / concatenareÈ perfetto. Ho estrapolato la formula per includere codici aggiuntivi e ha un fascino! Grazie molto!
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]Ri: alfabetizza o ordina le celle prima di unire / concatenareSì, lo rende più facile, ma entrambe le formule sopra dovrebbero funzionare.
Senza il trattino questa formula di colonna funziona:
sortlist ( evallist ({ : Codice 1 ,: Codice 2 })) [ 1 ] || sortlist ( evallist ({ : Codice 1 ,: Codice 2 })) [ 2 ]
Ri: alfabetizza o ordina le celle prima di unire / concatenareSe rende più semplice, il trattino può essere escluso - che è solo lì per rendere più facile la divisione dei codici in seguito.
Ri: alfabetizza o ordina le celle prima di unire / concatenareSe capisco bene il problema, non è molto semplice in quanto l'ordine è importante così come le celle vuote non devono avere il trattino "-". Quindi una semplice formula concatenata senza affermazione condizionale non farà.
Penso che ci siano diverse soluzioni (come spesso in JMP) a questo. Qui ci sono due diversi approcci utilizzando una formula di colonna. La prima formula si basa su condizionali condizionali semplici, la seconda crea una lista ordinata e usa espressioni regolari per cancellare qualsiasi "-" ridondante.
Per provare, esegui questo script o semplicemente incolla l'espressione in Fromula () in una proprietà formula di una nuova colonna.
tabella dei dati corrente () << nuova colonna ( "Codice 1-Codice 2" , formula ( Se ( : Codice 1 > : Codice 2 ,
: Codice 2 || Se ( Manca ( : Codice 2 ) , "" , "-" ) || : Codice 1 ,
: Codice 1 || Se ( Manca ( : Codice 1 ) , "" , "-" ) || : Codice 2
)));
tabella dei dati corrente () << nuova colonna ( "Codice 1-Codice 2" , formula (
sl = sortlist ( evallist ({ : Codice 1 ,: Codice 2 })) ;
regex ( sl [ 1 ] || "-" || sl [ 2 ] , "^ - * (+.) - * $" , "\ 1" )
))
Il messaggio è stato curato da: Marcus Sundbom
Aggiunta seconda formula