Niveau de commande basé sur les 3 derniers caractères de la valeurSalut -
J'aimerais que l'ordre des valeurs sur l'axe des x dans l'intrigue soit croissant. Le problème est que ces valeurs sont des chaînes alphanumériques et que seuls les 3 derniers caractères sont ceux qui indiquent l'ordre.
Par exemple, j'aimerais les voir dans l'ordre suivant de gauche à droite sur une parcelle.
1 : YRFCA1
2 : YRTCB1
3 : YRACB2
4 : YRTCC0
Les niveaux d’ordre Ligne et Valeur organisent les données d’une manière différente.
Je pourrais créer une sous-chaîne de valeurs ci-dessus et me concentrer uniquement sur les 3 derniers caractères avant de les commander, mais je ne sais pas comment afficher la chaîne entière de 6 caractères dans l'intrigue.
J'apprécierais vos commentaires sur la façon dont je pourrais implémenter cela dans JSL.
Merci!
Ingénierie Qualité et ProcédésRe : Niveau de commande basé sur les 3 derniers caractères de la valeurVous pouvez également "forcer" JMP à utiliser l'ordre des colonnes non numériques via JSL, mais cela peut être un bug et non une fonctionnalité, donc son utilisation peut être un peu risquée :
Names Default To Here(1);
dt = New Table("table",
Add Rows(5),
New Column("Col", Character, "Nominal", Set Values({"YRFCA1", "YRTCB1", "YRACB2", "YRTCC0", "YAAAA4"})),
New Column("order", Character, "Nominal", Formula(Right(:Col, 3)))
);
dt = Graph Builder(Variables(X(:Col, Order By(:order, Ascending))), Elements(Points(X, Legend(34))));
Vous pouvez également le faire directement à partir du générateur de graphiques en utilisant deux lignes d'étiquettes sur l'axe des X :

Ensuite, si vous le souhaitez, vous pouvez ouvrir les paramètres de l'axe X, puis apporter quelques modifications aux paramètres d'une autre étiquette pour la masquer (dans ce cas, dans l'ordre) :

et tu te retrouves avec :

Ensuite, vous pouvez modifier l'axe des x pour supprimer la commande /.
Re : Niveau de commande basé sur les 3 derniers caractères de la valeurLes deux méthodes sont très utiles. Merci Craige et ZF !
Re : Niveau de commande basé sur les 3 derniers caractères de la valeurBon!
Re : Niveau de commande basé sur les 3 derniers caractères de la valeurJe trie le tableau en fonction des 3 derniers caractères (récupère d'abord la sous-chaîne des 3 derniers caractères), puis je définis la propriété de la colonne de texte long "ordre des valeurs".
Names default to here(1);
dt=New Table( "order by another col",
Add Rows( 4 ),
New Column( "Label",
Character,
"Nominal",
Set Values( {"YRFCA1", "YRTCB1", "YRACB2", "YRTCC0", "YAAAA4"} )
),
New Column( "Last 3",
Character,
"Nominal",
Formula( Right( :Label, 3 ) ),
),
);
dt << sort(replace table(1), by(:Last 3));
values=dt:Label << get values;
dt:Label << set property ("Value Ordering", values);
Re : Niveau de commande basé sur les 3 derniers caractères de la valeurPeut-être quelque chose comme ça. J'ai créé la colonne de transformation dans l'interface graphique, puis je l'ai enregistrée. Faites un clic droit sur la variable à transformer (dans le sélecteur de colonne), choisissez transformation->formule. Ensuite, faites glisser/déposez la nouvelle variable de transformation dans le générateur de graphiques.
Graph Builder(
Size( 893, 823 ),
Show Control Panel( 0 ),
Variables(
X( :name ),
Y(
Transform Column(
"Transform[name]",
Character,
Nominal,
Formula(
Right( :name, 3 ) || "_" || Left( :name, Length( :name ) - 3 )
)
)
)
),
Elements( Points( X, Y, Legend( 8 ) ) )
);
Last three letters moved to front of nameLast three letters moved to front of nameLes trois dernières lettres ont été déplacées devant le nom