Avalados por :

Como filtrar dinamicamente valores no CPI DS para atender às necessidades de negócio

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

Olá Especialistas,

Temos um requisito no CPI DS onde precisamos filtrar determinadas linhas com base na entrada de uma coluna específica em outra tabela de fontes. Tentei a opção de filtrar no CPI-DS, mas o filtro funciona em valores individuais. Temos esse requisito de filtrar dinamicamente os valores com base na necessidade do negócio.

Exemplo-

Datastore 1:

Datastore 2 (valores a filtrar da coluna 2 no Datastore 1):

Saída necessária:

Poderiam sugerir uma abordagem no CPI-DS?

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

4 Respuestas

0
Cargando...

Olá Sandeep

Muito obrigado pela sugestão.

Estou enfrentando um problema estranho. Quando reviso a saída em 'Ver dados de design', consigo ver a saída desejada. Porém, ao tentar executar o processo completo, o status fica 'processando' (processo interminável) e não é concluído com sucesso. Antes de adicionar a condição de união, ele levava apenas alguns segundos para ser concluído. Quando adicionei a etapa de depuração, pude ver algumas advertências, mas não há erros.

Revisei a Nota '2235678 - Advertência interna de inicialização: Falha de decifração com erro de resumo de mensagem inválido' e não acredito que seja um erro e pode ser ignorado.

No registro de rastreamento, não há erros. Alguma sugestão de qual poderia ser o possível problema?

Obrigado

Atreyee Chandra

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

Como se trata de um armazém de dados IBP, a pesquisa não pode ser implementada diretamente aqui. Você pode tentar esta alternativa que utiliza a junção externa esquerda. Mantenha a tabela da esquerda como tabela de armazém de dados 1, a da direita se torna tabela de armazém de dados 2, e faça a junção externa esquerda na igualdade entre a coluna 2 da tabela 1 e a coluna 3 da tabela 2. Na transformação atual onde ocorre essa junção, normalmente você usaria a tabela 1 como saída. Aqui também pode atribuir a coluna 3 da tabela 2 à coluna de saída na transformação de junção atual. Em seguida, na próxima transformação, aplique um filtro na coluna 3, onde você garante que col3 IS NULL. Isso garantirá que as linhas desejadas sejam filtradas adequadamente.

Atenciosamente,

Sandeep

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

A fonte (armazém de dados 1) é IBP... e estão armazenando a lista de exclusão (armazém de dados 2) em IBP... Inicialmente tentei com a opção de busca, mas não encontrei o armazém de dados visível na opção de busca. Suponho que do lado do IBP, eles precisam criar uma tabela de busca (algo diferente da tabela de preparação) para que eu possa testar a opção que você sugeriu. Segundo os especialistas do IBP, eles não podem criar uma tabela de busca diferente do lado deles, podem criar uma tabela de preparação que aparece como tabelas de armazém de dados.

Há alguma outra opção, como usar um left join se pudermos definir alguma condição?

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

Olá Atreyee,

Você pode usar o conceito da função de pesquisa no CPI DS, onde a primeira tabela do data warehouse atua como a tabela de origem da transformação, e a segunda tabela pode ser usada como uma tabela de pesquisa. A condição para poder usar essa função é que a tabela de pesquisa deve estar definida em um data warehouse no formato de arquivo ou em um data warehouse de servidor de banco de dados.

O que a função de pesquisa fará é, sempre que não encontrar uma correspondência entre o data warehouse 1 (col 2) e o data warehouse 2 (col 3), gerará um valor padrão que você define (como "NA"), e a saída da pesquisa será armazenada em um atributo de coluna de saída na transformação atual. Digamos que você tenha definido um atributo chamado - "Col_Check". Então, na próxima transformação, você pode aplicar o filtro, Col_Check igual a "NA". Isso filtrará todas as correspondências como abc2 e abc6.

Obrigado e Cumprimentos,

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?