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