GeneXus - Ordenar.-

 
Vista:

Ordenar.-

Publicado por Pablo W. (12 intervenciones) el 21/08/2007 01:15:25
Estimados amigos , necesito ordenar:

10 6/7
9 7/8
...
...
etc.

De modo que quede:

9 7/8
10 6/7
..
..
etc.

El tema pasa porque al tener el campo como tipo "caracter", me arroja el siguiente orden:

10 6/7
9 7/8
...
...
etc.

Lo he puesto en Excel, y lo hace muy bien el orden... pero Genexus NO.
Alguién tiene alguna idea, de como puedo hacerlo.? Gracias, saludos.

Estoy con Vfpro y gx 9.0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Patricio Ojeda V
Val: 73
Oro
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

RE:Ordenar.-

Publicado por Patricio Ojeda V (475 intervenciones) el 21/08/2007 17:01:00
Pablo,

Los Datos:

10 6/7
9 7/8 ¿Donde estan?

¿Estan en Xls y los quieres traar e Gx? ¿Los quieres Ver, Guardar?
¿Son datos de una tabla, y un campo caracter tiene esos datos y necesitas mostrarlos y ordenarlos?

No se entiende mucho tu problema...

Saludos

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar.-

Publicado por Pablo W. (12 intervenciones) el 21/08/2007 23:38:26
Patricio, estos datos están en una tabla, luego esos datos los debiera arrojar en un reporte ordenados. Pero mi problema es que al ser de tipo caracter, me los ordena de la siguiente manera:

10 6/7
9 7/8

Lo que busco es que me ordene los datos arrojados al reporte como:

9 7/8
10 6/7

ya que se supone que 9 es menor que 10, pero esto sólo lo hace (el ordenamiento) cuando es númerico (el tipo de dato), NO como lo necesito que es caracter.

(El asunto del excel es para dar un ejemplo solamente, y a todo esto me marca que el tipo de datos es fracción)

Espero haberlo explicado de mejor manera.

Gracias por contestarme. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar.-

Publicado por PabloF (275 intervenciones) el 22/08/2007 13:40:45
Completando la respuesta de Patricio, desde ya te digo que esa tabla no esta bien normalizada. No conozco bien su cometido, pero que un campo contenga valores que no son atomicos no me parece muy bien.

Tu problema reside en que la clausula ORDER solo trabaja con atributos, pues la solucion seria facil. Guarda en una variable la parte del numero y ordena luego, pero no se puede.

La solucion, como yo lo veo, es unica: crear un atributo formula que guarde la parte que deseas ordenar. Dicha formula deberia ser algo parecido a esto

ORDEN = substr(CAMPO,1,len(strsearch(CAMPO,' ')))

lo cual guardara en ORDEN la primera parte del campo, la parte que va hasta el primer espacio encontrado. Contanos luego como te fue para verificar la fiabilidad de mi solucion.

Saludos PF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Patricio Ojeda V
Val: 73
Oro
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

RE:Ordenar.-

Publicado por Patricio Ojeda V (475 intervenciones) el 22/08/2007 15:27:19
Pablo W,

Otra opcion es que recorras la Tabla y asignes los atributos a un SDT de tipo Collection, en este Sdt defines un Item de tipo Date donde armas la fecha como corresponde asignandole tu fecha de tipo caracter, luego de esto haces un Sort del SDT, y finalmente recorres el SDT e imprimes tus datos.

Saludos y suerte...

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar.-

Publicado por Pablo W. (12 intervenciones) el 31/08/2007 01:18:49
Pablo, esa era la solución. O sea sacar una parte de la cadena (caracter) para pasarla a número. Luego ordenar esos números.

Me parece mal visto que Gx, no tenga una forma mas simple de trabajar este tema puntual, ya que ha vista del cliente "el excel lo hace fácilmente".

Pero para mi fue una tarea mas que debieran considerar los Genuxianos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar