En una situación donde están presentes tanto números como texto, ¿cómo podemos lograr la clasificación correcta?Como se muestra en el siguiente JSL, la ordenación funciona correctamente en orden ascendente cuando solo hay números presentes; sin embargo, cuando se mezcla con texto, la conversión a números antes de la ordenación causa problemas. ¿Qué métodos se pueden utilizar para resolver este problema?
stepList = {"2", "3", "10", "9", "1"};
stepListSort = Sort List( stepList );
stepListNum = {};
For( i = 1, i <= N Items( stepList ), i++,
Insert Into( stepListNum, Num( stepList[i] ) )
);
stepListNumSort = Sort List( stepListNum );
stepListWithString = {"2", "3", "10_New", "9", "1"};
stepListWithStringSort = Sort List( stepListWithString );
Show( stepListWithSting );
stepListNum = {};
For( i = 1, i <= N Items( stepList ), i++,
Insert Into( stepListNum, Num( stepListWithString[i] ) )
);
stepListWithStringNumSort = Sort List( stepListNum );Análisis y modelado de datos básicosRe: En una situación donde están presentes tanto números como texto, ¿cómo podemos lograr la clasificación correcta?JMP utiliza diferentes formas de ordenar en diferentes lugares (hay al menos una publicación antigua mía que pregunta sobre esto, pero puede ser difícil de encontrar). Puedes intentar revisar la tabla de datos
Names Default To Here(1);
stepListWithString = {"2", "3", "10_New", "9", "1"};
dt = New Table("A",
New Column("A", Character, Nominal, Values(stepListWithString))
);
dt << Sort(By(:A), Replace Table, Order(Ascending));
stepListWithStringSort = dt[0, 1];
Close(dt, no save);
show(stepListWithStringSort);
// stepListWithStringSort = {"1", "2", "3", "9", "10_New"};