Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola tengo un campo llamado TimeBand que contiene los siguienetes datos:
>5y 1m |
2y |
3m |
3y |
4y |
5y |
6m |
12m |
1d |
7d |
1m |
2m |
3m |
6m |
1y |
2y |
3y |
4y |
5y |
+5y |
Como podeis ver son periodos de tiempo. Necesito ordenarlos de menor a mayor pero no se como hacerlo. Lo que quiero es que quede así: (días, meses, años)
1d |
7d |
1m |
2m |
3m |
6m |
12m |
1y |
2y |
3y |
4y |
5y |
>5y |
Try this in "Sort by Expression":
if(wildmatch(Period,'>*'),4,if(wildmatch(Period,'*and'),3,if(wildmatch(Period,'*d'),1,if(wildmatch(Period,'*m'),2,if(wildmatch(Period,'*y'),3,5)))))
From your question you have used ">5y" and "+5y" which one are you using or are you using both?
Una solución posible, sobre todo para realizarla durante el script es:
KeepChar(TimeBand, 0123456789) * Pick(Match(KeepChar(TimeBand, 'dmy'), 'd', 'm', 'y'), 1, 30, 365, 366) AS TimeBandSort
Asumiendo que TimeBand es el campo que contiene los valores que mencionas en el ejemplo y TimeBandSort el resultado, que puedes utilizar en las propiedades del objeto para ordenar.