NO ME FUNCIONA EL FILTRO DE UNA DT

Buenas,

El resultado de mi busqueda es este:


y para extraer los datos, lo hago pasándolo a una DT(ExtractDataTable), como sólo quiero quedarme con Mora(esta vez) porque me coincide con la denominación que tengo en el Excel, puse la actividad de filtro de Data Table:

y con este filtro:

strDenominacion es una variable que hace referencia a la Denominacion del Excel.

todos los datos de la web me los extrae bien, pero al hacer el filtro se queda vacía, y creo que no esta cogiendo bien éste

Gracias

@lily.RPA ,

Instead of filtering column with (=) try using Contains.

image

Thanks,
Ashok :slight_smile:

no puede ser contains porque si no, no me hace el filtro de solo esa, si no que me quedo con todas las que aparece en la web

If you don’t want the data which contains the filter.
In the place of Contains you can use Does Not Contain

tampoco me serviria, porque en este caso si Denominacion en mi Excel es igual a Mora y en la búsqueda de la web me aparece todas esas opciones que contienen Mora…tengo que extraer la que es igual al excel

Hola @lily.RPA,

Puedes por favor mostrarnos el contenido de tu tabla “ExtractDataTable”. Para esto utiliza la actividad “Output Data Table” y en el Output crea una nueva variable de tipo String y muestrala con un Message Box, tal y como en la imagen.

Si es igual a la tabla que usabas ayer, el nombre de las columnas es diferente. Tambien hay que verificar el resultado de strDenominacion para ver exactamente como se muestra.

Juan P.

es la misma que usaba ayer sí

Según la tabla que vi ayer, las columnas terminaban con la palabra Alt text, pero no estoy seguro sobre exactamente la columna “Denominacion” por eso es importante verificar el resultado de esa Tabla después de la extracción y saber que el filtro es el correcto.

image

En la Data Table extraida de la web sale así Denominación:


y en la data del Excel que tengo sale así:

Entonces, por eso no entiendo que no se realice el filtro

si no, otra opción para eso, es usar en vez del filtro de Data Table, usar un if con esta expresion:


y si la cumple que haga algo, pero no se que es lo que tengo que poner para que solo me quede con la fila que me interesa, porque:

1.O hago 1 opcion donde solo me quedo con las que me interesa

2.O hago 1 opcion que segun detecte la fila que me interesa se vaya a la columna que contien 2022

@lily.RPA, mira que denominación en el Excel aparece en mayúscula, mientras que en la Data Table solo la primera letra está en mayúscula.

Es posible para ti modificar el Excel para tener los valores correctos?

puede ser por eso? no lo había pensado, pero es que no lo puedo cambiar en el Excel

@lily.RPA, efectivamente es por eso, Mora y MORA no son lo mismo.

Ahora lo que queda es convertir esa variable “strDenominacion” a Camel Case justo antes de entrar al filtro:

Para ello en un assign vas a poner lo siguiente: strDenominacion = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(strDenominacion.ToLower)

Y ya con ese limpiamos el texto. Mira el ejemplo:

pero solo podria poner el 2 assign porque el 1º no puedo ponerlo, ya que Mora es en este caso y si surgen casos nuevos, no podré hacerlo

Hola @lily.RPA,

Sí, exacto! El primer assign lo puse para representar que la variable tenía el valor de MORA pero tu lo harías desde el segundo.

Saludos!

me ha servido para este caso, pero cuando hace una busqueda nueva y solo tiene 1 linea no me lo identifica


Hola @lily.RPA,

Puedes dejar todo en minúscula como estás haciendo y colocarle a todo .ToLower. En caso de que alguna no funcione, tienes que utilizar las herramientas de debugging para empezar a identificar las diferencias entre una variable y otra, puedes hacer un breakpoint y poner a debuguear el codigo o utilizar unos message box box para mostrar ambos valores antes de que se comparen, pero aqui lo importante es buscar las diferencias entre ambas variables y corregir el problema.

Saludos!