Avalados por :

Cómo filtrar dinámicamente valores en CPI DS para satisfacer las necesidades del negocio

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Hola Expertos,

Tenemos un requisito en CPI DS en el que necesitamos filtrar ciertas filas basadas en la entrada de una columna específica en otra tabla de fuentes. Intenté la opción de filtrar en CPI-DS pero el filtro funciona en valores individuales. Tenemos este requisito de filtrar dinámicamente los valores basados en la necesidad del negocio.

Ejemplo-

Almacén de datos 1:

Almacén de datos 2 (valores a filtrar de la columna 2 en el Almacén de datos 1):

Salida requerida:

¿Podrían sugerir un enfoque en CPI-DS?

output.jpg datastore1.jpg datastore2.jpg
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Sandeep

Muchas gracias por la sugerencia.

Estoy enfrentando un problema extraño. Cuando reviso la salida en 'Ver datos de diseño', puedo ver la salida deseada. Pero al intentar ejecutar el proceso completo, el estado es 'procesando' (proceso interminable) y no se completa con éxito. Antes de agregar la condición de unión, solo tomaba unos segundos en completarse. Cuando agregué el paso de depuración, pude ver algunas advertencias pero no hay errores.

Revisé la Nota '2235678 - Advertencia interna de inicialización: Fallo de descifrado con error de resumen de mensaje no válido' y no creo que sea un error y se puede ignorar.

En el registro de trazas, no hay errores. ¿Alguna sugerencia de cuál podría ser el problema posible?

Gracias

Atreyee Chandra

error-log.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Dado que es un almacén de datos IBP, la búsqueda no se puede implementar directamente aquí. Puedes probar esta alternativa que utiliza la unión externa izquierda. Mantén la tabla izquierda como tabla de almacén de datos 1, la derecha se convierte en tabla de almacén de datos 2, y realiza la unión externa izquierda en la igualdad entre la columna 2 de la tabla 1 y la columna 3 de la tabla 2. En la transformación actual donde ocurre esta unión, normalmente tomarías la tabla 1 como salida. Aquí también puedes asignar la columna 3 de la tabla 2 a la columna de salida en la transformación de unión actual. Luego, en la siguiente transformación, aplica un filtro en la columna 3, donde te aseguras de que col3 IS NULL. Esto garantizará que se filtren las filas deseadas apropiadas.

Saludos,

Sandeep

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

La fuente (almacén de datos 1) es IBP... y están almacenando la lista de exclusión (almacén de datos 2) en IBP... Inicialmente intenté con la opción de búsqueda, pero no encontré el almacén de datos visible en la opción de búsqueda. Supongo que en el lado de IBP, necesitan crear una tabla de búsqueda (algo diferente a la tabla de preparación) para que pueda probar la opción que sugeriste. Según los expertos de IBP, no pueden crear una tabla de búsqueda diferente en su lado, pueden crear una tabla de preparación que aparece como tablas de almacén de datos.

¿Hay alguna otra opción, como usar una unión externa izquierda si podemos definir alguna condición?

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Atreyee,

Puedes utilizar el concepto de la función de búsqueda en CPI DS, donde la primera tabla del almacén de datos actúa como la tabla de origen de la transformación, y la segunda tabla puede ser utilizada como una tabla de búsqueda. La condición para poder utilizar esta función es que la tabla de búsqueda debe estar definida en un almacén de datos en formato de archivo o en un almacén de datos de servidor de base de datos.

Lo que hará la función de búsqueda es, cada vez que no encuentre una coincidencia entre el almacén de datos 1 (col 2) y el almacén de datos 2 (col 3), generará un valor predeterminado que tú definas (como "NA"), y la salida de la búsqueda se guardará en un atributo de columna de salida en la transformación actual. Digamos que has definido un atributo llamado - "Col_Check". Entonces, en la siguiente transformación, puedes aplicar el filtro, Col_Check igual a "NA". Esto filtrará todas las coincidencias como abc2 y abc6.

Gracias y Saludos,

Sandeep

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?