Calculate listaUnida as listaUno
Do listaUnida.$merge(listaDos)
Do listaUnida.$sort($ref.aValor,kFalse)
Do listaUnida.$sendall($ref.$selected.$assign(kTrue),($ref.aValor=listaUnida.[$ref.$line+1].aValor)|(($ref.$line>1)&($ref.aValor=listaUnida.[$ref.$line-1].aValor)))
Do listaUnida.$remove(kListDeleteSelected)
El ejemplo siguiente está considerado como el más rápido de todos, para una "myList" con 1578 filas de las cuales 250 están duplicadas, el tiempo fue de dos segundos.
| Set current list (myList) |
| Set sort field (myCol) |
| Sort list |
| Set search as calculation {myList(1,#L)=myList(1,#L-1)} |
| Search list (Select matches (OR),Deselect non-matches (AND)) |
| Delete selected lines |
Aunque seguramente la mejor opción sea la apuntada por Xavier Blanco, que consiste en el uso del método predefinido "listaUnida.$cols.aValor.$removeduplicates(ktrue)" (Ver la página 101 del manual de programación en castellano).
1 comentario:
Otra opción (por Xavier Blanco)
listaUnida.$cols.aValor.$removeduplicates(ktrue) (Ver la página 101 del manual de programación en castellano)
Publicar un comentario