Règles de tri alphanumérique dans JMP17J'utilise la fonctionnalité Trier dans JMP17.0.0 mais j'obtiens des résultats inattendus.La colonne sur laquelle je souhaite trier contient une liste de numéros de série où chacun est un mélange de caractères alphabétiques et numériques (exemples : G95VXWW8CID5, G921J8D2CIE3, G943H085CIB2).L'action Trier-> Ascendant place G95... devant G92... qui devance G94...Ceci est inattendu car même si les deux premiers caractères des trois numéros de série sont identiques, G9, en troisième position, 2 doit être avant 4, qui doit être avant 5.Quelles sont les règles selon lesquelles JMP trie les valeurs alphanumériques, et ces règles peuvent-elles être modifiées ?
Mélange et nettoyage des donnéesPartager et communiquer les résultatsles fenêtresRe : Règles de tri alphanumérique dans JMP17Vos préférences sont définies sur Ordre numérique.
Aller à
Fichier=>Préférences=>Tableaux
et décochez la case Commande numérique

Re : Règles de tri alphanumérique dans JMP17Je dois respectueusement être en désaccord avec le choix de tri de JMP.Je ne connais aucun autre logiciel qui fasse cela de cette façon et ce n'est pas du tout évident.
Si le type de données est spécifié comme Caractère, il doit être traité comme tel et classé selon les règles acceptées. Peut-être que JMP a besoin d'une nouvelle catégorie Char/Num.
Mon ensemble de données ci-dessous est trié par JMP comme
0CNFB
0ERRB
01JAB
013BB
2X0UB
11DBB
13ZYB
17BST
156QB
1474B
Je comprends les règles telles qu'expliquées ici, mais qui penserait que c'est ainsi qu'elles devraient être commandées ?Ce n'est pas ainsi qu'on ordonne un champ de caractères.
Re : Règles de tri alphanumérique dans JMP17D'accord avec @Victor_G @jthi à propos des règles de tri reflétant l'ordre de tri naturel... vous pouvez voir qu'Excel et JMP les trient différemment. Mais j'ai l'impression que nous avons passé si longtemps à essayer de gérer Excel sans comprendre que dans l'exemple ci-dessous, 11 est supérieur à 2 que nous oublions que ce n'est pas normal. Dans votre cas, vous avez le 943, le 921 et le 95.Le problème potentiel est de savoir si votre système de codage souhaite que 95 soit le chiffre le plus élevé ? Alors je suis d'accord avec @Victor_G sur l'utilisation des colonnes d'assistance.
Tri alphabétique :
- z11
- z2
Tri naturel :
- z2
- z11
Re : Règles de tri alphanumérique dans JMP17Merci tout le monde!La définition de la propriété Value Order, puis le tri, place les valeurs dans l'ordre auquel je m'attendais.
Re : Règles de tri alphanumérique dans JMP17De plus, si vous ajoutez une propriété Ordre des valeurs à la colonne, JMP devrait immédiatement reconnaître que vos données sont alphanumériques et vous demander si vous souhaitez les configurer avec un tri simple. Si vous répondez oui, puis appuyez sur ok dans la boîte de dialogue suivante (c'est-à-dire, n'ajustez rien, acceptez simplement), alors le tri fonctionnera comme prévu.



Re : Règles de tri alphanumérique dans JMP17Je ne sais pas si vous pouvez affecter la façon dont le tri est effectué sans utiliser les propriétés des colonnes. Vous pouvez créer une colonne "support" que vous pouvez ensuite trier pour obtenir l'ordre souhaité ou vous pouvez peut-être utiliser Query Builder.


ou utilisez la propriété de colonne d'ordre de valeur

</CODE></P>
<P><CODE class=" language-jsl">
Quelques différences ici lors de l'utilisation des fonctions de tri :</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"};
Le tri des tables JMP semble utiliser Ordre de tri naturel (wikipédia) comme @Victor_G tri mentionné et non alphabétique
Re : Règles de tri alphanumérique dans JMP17Salut @EdHutchins99 ,
Bienvenue dans la Communauté !
J'ai essayé de reproduire votre problème avec les trois identifiants que vous avez mentionnés.
Je pense que le comportement de JMP est normal et attendu, car il tentera de trier en utilisant les premiers caractères alphanumériques rencontrés.
Puisque le premier caractère est G pour tous (pas de tri possible par alphabet), JMP fera le tri sur les nombres juste après. Ainsi, lorsque vous essayez de trier, comme vous n'avez pas le même nombre de caractères numériques et que 95 < 921 < 943, JMP affichera ce G95..., G92... et G94... commande.
Si vous créez une nouvelle colonne en recodant la colonne ID pour ne conserver que les trois premiers caractères alphanumériques puis effectuez le tri sur cette nouvelle colonne, vous devriez obtenir les résultats que vous attendez.
Il s'agit du script de formule que vous pouvez utiliser dans votre nouvelle colonne si votre colonne d'origine s'appelle ID (sinon vous devrez changer l'ID par le nom de la colonne que vous avez dans cette formule) :
Recode( :ID, {Word( [1 3], _rcNow, "", Unmatched( _rcNow ) )} )
J'espère que ceci vous aidera,
Re : Règles de tri alphanumérique dans JMP17Existe-t-il une propriété de colonne Ordre des valeurs définie pour la colonne sur laquelle vous effectuez le tri ?Y a-t-il des caractères non imprimables (y compris un espace) dans les valeurs ?
Si vous pouviez fournir un exemple de tableau de données, cela aiderait vraiment.