Usuário com melhor resposta
DÚVIDA COM JOIN NO BIDS

Pergunta
-
Bom dia pessoal.
Estou com uma dúvida séria no BIDS e já estou a 2 dias tentando encontrar uma solução.
Eis o cenário:
Um Data Warehouse de testes está sendo criado e as informações de seu primeiro banco estão sendo tratadas pelo Business Intelligence Development Studio (BIDS).
Agora tenho alguns pacotes de ETL criados. Os de Extração já funcionam bem e enviam dados de arquivos Excel para o ODS do Data Warehouse. Já na fase de transformação, estou com dificuldades em encontrar um objeto que atenda a essa necessidade:
Tenho as tabelas:
DimProduto
PRODUTO_ID (PK)
PRODUTO_DESC
CATEGORIA_ID (FK)
DimProdutoCategoria
CATEGORIA_ID (PK)
CATEGORIA_DESC
Como vocês já devem ter notado, o campo CATEGORIA_ID da tabela DimProduto é uma Foreign Key para a tabela DimProdutoCategoria.
Acontece que essa tabela DimProdutoCategoria recebe apenas as informações de DESCRIÇÃO das Categorias, enquanto os IDs são definidos pelo Identity do campo (que eu zero toda vez que o pacote roda). Obviamente, tenho que informar no campo CATEGORIA_ID da tabela DimProduto os índices correspondentes à cada descrição. Isso seria feito com um inner join usando uma consulta sql até que simples. Mas não encontrei até agora um componente do SSIS no BIDS que consiga executar um comando SELECT que faça esse JOIN e retorne a coluna com os valores para ser usada nos passos seguintes do pacote.
Alguém consegue me ajudar? Fui claro? Deixei passar algo?
Abraços e agradeço desde já.
- Editado Kdu Bonalume quinta-feira, 17 de novembro de 2011 13:25
Respostas
-
Kdu, boa tarde, o que vc precisa é um componente que execute um join das duas tabelas ... vc pode utilizar o Execute SQL Task. Se vc precisar dos ID´s físicos, vc pode na propriedade "Result Set" da task escolher a opção que melhor aplicar as suas necessidades.
Abs.
- Marcado como Resposta Kdu Bonalume sexta-feira, 18 de novembro de 2011 12:07
Todas as Respostas
-
Kdu, boa tarde, o que vc precisa é um componente que execute um join das duas tabelas ... vc pode utilizar o Execute SQL Task. Se vc precisar dos ID´s físicos, vc pode na propriedade "Result Set" da task escolher a opção que melhor aplicar as suas necessidades.
Abs.
- Marcado como Resposta Kdu Bonalume sexta-feira, 18 de novembro de 2011 12:07
-
Valeu Edu, vou testar. Mas além disso, reavaliei a modelagem do banco e identifiquei algumas possíveis alterações a fazer. Mesmo assim obrigado.
Abraços.
Carlos Eduardo B Martins Junior e-mail: kdu.bmartins@gmail.com kdu.bmartins@hotmail.com skype: cmartins.othink