Regole di ordinamento alfanumerico in JMP17Sto utilizzando la funzione Ordina in JMP17.0.0 ma ottengo risultati imprevisti.La colonna in base alla quale desidero ordinare contiene un elenco di numeri di serie in cui ciascuno è un mix di lettere e caratteri numerici (esempi: G95VXWW8CID5, G921J8D2CIE3, G943H085CIB2).L'azione Ordina-> Crescente mette G95... davanti a G92... che è davanti a G94...Ciò è inaspettato perché mentre i primi due caratteri in tutti e tre i numeri di serie sono gli stessi, G9, nella terza posizione, 2 dovrebbe essere prima di 4 che dovrebbe essere prima di 5.Quali sono le regole in base alle quali JMP ordina i valori alfanumerici e tali regole possono essere modificate?
Combinazione e pulizia dei datiCondivisione e comunicazione dei risultatifinestreRi: Regole di ordinamento alfanumerico in JMP17Le tue preferenze sono impostate su Ordine numerico.
Vai a
File=>Preferenze=>Tabelle
e deseleziona la casella di controllo per l'ordinamento numerico

Ri: Regole di ordinamento alfanumerico in JMP17Devo rispettosamente non essere d'accordo con la scelta dell'ordinamento di JMP.Non conosco nessun altro software che faccia questo in questo modo e non è affatto ovvio.
Se il tipo di dati è specificato come carattere, deve essere trattato come tale e ordinato in base alle regole accettate. Forse JMP ha bisogno di una nuova categoria Char/Num.
Il mio set di dati di seguito è ordinato da JMP come
0CNFB
0ERRB
01JAB
013BB
2X0UB
11DBB
13ZYB
17TSB
156QB
1474B
Capisco le regole come spiegato qui, ma chi penserebbe che questo sia il modo in cui dovrebbero essere ordinate?Questo non è il modo di ordinare un campo di caratteri.
Ri: Regole di ordinamento alfanumerico in JMP17Essere d'accordo con @Victor_G @jthi riguardo alle regole di ordinamento che riflettono l'ordinamento naturale... puoi vedere che Excel e JMP le ordinano in modo diverso. Ma sento che abbiamo passato così tanto tempo cercando di gestire Excel senza capire che nell'esempio seguente 11 è maggiore di 2 che dimentichiamo che non è normale. Nel tuo caso hai 943, 921 e 95.Il potenziale problema è se il tuo sistema di codifica vorrebbe che 95 fosse il più alto? Allora sono d'accordo @Victor_G sull'utilizzo delle colonne helper.
Ordinamento alfabetico:
- z11
- z2
Cernita naturale:
- z2
- z11
Ri: Regole di ordinamento alfanumerico in JMP17Grazie a tutti!L'impostazione della proprietà Ordine valore, quindi l'ordinamento, inserisce i valori nell'ordine previsto.
Ri: Regole di ordinamento alfanumerico in JMP17Inoltre, se aggiungi una proprietà Ordine valore alla colonna, JMP dovrebbe riconoscere immediatamente che i tuoi dati sono alfanumerici e chiederti se desideri configurarli con un ordinamento semplice. Se rispondi sì e premi ok nella finestra di dialogo successiva (ovvero, non modificare nulla, accetta e basta), l'ordinamento funzionerà come previsto.



Ri: Regole di ordinamento alfanumerico in JMP17Non sono sicuro che sia possibile influenzare il modo in cui viene eseguito l'ordinamento senza utilizzare Proprietà colonna. Potresti creare una colonna "supporto" che puoi quindi ordinare per ottenere l'ordine desiderato oppure potresti utilizzare Query Builder


oppure utilizzare la proprietà della colonna dell'ordine dei valori

</CODE></P>
<P><CODE class=" language-jsl">
Alcune differenze qui quando si utilizzano le funzioni per l'ordinamento:</CODE></P>
<PRE><CODE class=" language-jsl">Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
New Column("Column 1",
Character,
"Nominal",
Set Values({"G95VXWW8CID5", "G921J8D2CIE3", "G943H085CIB2"})
)
);
a = dt[0, 1];
show(a);
b = Associative Array(Column(dt, 1));
Show(Sort List(a));
Show(b << get keys);
Show(Ranking(a));
dt << Sort(By(:Column 1), Replace Table, Order(Ascending));
Show(dt[0, 1]);
Write();</CODE></PRE>
<PRE><CODE class=" language-jsl">a = {"G95VXWW8CID5", "G921J8D2CIE3", "G943H085CIB2"};
Sort List(a) = {"G921J8D2CIE3", "G943H085CIB2", "G95VXWW8CID5"};
b << get keys = {"G921J8D2CIE3", "G943H085CIB2", "G95VXWW8CID5"};
Ranking(a) = [3, 1, 2];
dt[0,1] = {"G95VXWW8CID5", "G921J8D2CIE3", "G943H085CIB2"};
Sembra che venga utilizzato l'ordinamento della tabella JMP Ordinamento naturale (wikipedia) Piace @Victor_G menzionato e non l'ordinamento alfabetico
Ri: Regole di ordinamento alfanumerico in JMP17CIAO @EdHutchins99 ,
Benvenuto nella Comunità!
Ho provato a riprodurre il tuo problema con i tre ID che hai menzionato.
Penso che il comportamento di JMP sia normale e previsto, poiché proverà a eseguire l'ordinamento utilizzando i primi caratteri alfanumerici incontrati.
Poiché il primo carattere è G per tutti (non è possibile un ordinamento basato sull'alfabeto), JMP eseguirà l'ordinamento sui numeri subito successivi. Quindi, quando provi a ordinare, poiché non hai lo stesso numero di caratteri numerici e 95 < 921 < 943, JMP visualizzerà questo G95..., G92... e G94... ordine.
Se crei una nuova colonna ricodificando la colonna ID per mantenere solo i primi tre caratteri alfanumerici e quindi esegui l'ordinamento su questa nuova colonna, dovresti ottenere i risultati attesi.
Questo è lo script della formula che puoi utilizzare nella nuova colonna se la colonna originale è denominata ID (altrimenti dovrai modificare l'ID con il nome della colonna che hai in questa formula):
Recode( :ID, {Word( [1 3], _rcNow, "", Unmatched( _rcNow ) )} )
Spero che questo ti possa aiutare,
Ri: Regole di ordinamento alfanumerico in JMP17Esiste una proprietà della colonna Ordine valore impostata per la colonna in base alla quale stai ordinando?Sono presenti caratteri non stampabili (incluso uno spazio vuoto) nei valori?
Se potessi fornire una tabella dati di esempio sarebbe davvero d'aiuto.