Page 1 of 1
ASort por dos columnas
Posted:
Mon May 02, 2022 1:14 am
by jrestojeda
Hola a todos,
Necesito ordenar un array por dos columnas, pero en el orden necesito que ordene por la primera columna de manera ascendente y por la segunda de manera descente.
La primera columna es una cadena y la segunda un numero.
Alguien tiene una idea de como debo hacer para que ASort haga lo que necesito?
Desde ya muchas gracias.
Saludos,
Re: ASort por dos columnas
Posted:
Mon May 02, 2022 3:28 am
by Ariel
Esteban,
ASort( aArray,,, {| x, y | x[ 1 ] < y[ 1 ] .and. x[ 2 ] > y[ 2 ] } )
1. tu primer orden alfa
2. tu segundo orden numerico
no lo probe pero deberia funcionar.
Saludos.
Re: ASort por dos columnas
Posted:
Mon May 02, 2022 11:25 am
by jrestojeda
Buen día Ariel...
No funciona de ese modo.
Alguna otra sugerencia?
Desde ya muchas gracias.
Saludos,
Re: ASort por dos columnas
Posted:
Mon May 02, 2022 12:48 pm
by jbrita
y esta forma
ASort( aDatos,,, {| x, y | If( x[ 1 ] == y[ 1 ], x[ 2 ] < y[ 2 ] ) } )
saludos
Re: ASort por dos columnas
Posted:
Mon May 02, 2022 2:14 pm
by jrestojeda
jbrita wrote:ASort( aDatos,,, {| x, y | If( x[ 1 ] == y[ 1 ], x[ 2 ] < y[ 2 ] ) } )
Esta manera me ordena ambas columnas de manera descendente.
Yo necesito la primera columna ascendente y la segunda descendente.
Re: ASort por dos columnas
Posted:
Mon May 02, 2022 5:07 pm
by jrestojeda
Finalmente me fucionó lo siguiente:
aDatos:=ASort( aDatos,,, {| x, y | If( x[ 1 ] == y[ 1 ], x[ 2 ] > y[ 2 ] , x[ 1 ] < y[ 1 ] ) } )
Muchas gracias por las respuestas.