none
FILTRANDO DADOS DA ORIGEM - FLAT FILE SOURCE RRS feed

  • Pergunta

  • Amigos,

       Tenho uma rotina de ETL no SSIS oriunda de alguns arquivos consideravelmente grandes em txt, utilizando os devidos conversores, conexões, etc., para leitura, transformação e carga destes.
       Dentro desta rotina, há um Data Flow Task, que realiza a leitura dinâmica dos flat files converte e passa por um MultiCast, para que as informações sejam armazenadas nas suas devidas tabelas.
       Hoje, porém, como não sei como filtras as informações diretamente no flat file, armazeno em uma tas tabelas todos os dados do flat file e depois da carga, disparo um Execute SQL Task, realizando os deletes necessários. Nem preciso dizer que assim estou ocupando espaço desnecessário e consumindo mais CPU e memória. Logo a dúvida é a seguinte:

    - Como realizar o filtro vinculado no flat file source, ou seja, permitir que somente as linhas que correspondam a alguma condição sejam armazenadas nas tabelas?

    Att,
    O Forte Sobreviverá e o Fraco irá Sofrer
    quarta-feira, 17 de março de 2010 18:29

Respostas

  • Bem, como vc deve ter percebido a Linguagem do Condicional Split não é T-SQL ou algo parecido, é uma linguagem do próprio SSIS e pelo que já usei esse objeto não vi nada parecido com In/Not In.

    Acho que vc terá que fazer uma única condição com todas as operações disponíveis, garanto a vc que será um trabalhinho complicado mas deve ajudar !

    Espero ter ajudado, boa sorte! 
    Wyllian de Lima - Se a resposta ajudou vote como útil !
    • Marcado como Resposta pabloslobo quinta-feira, 18 de março de 2010 21:48
    quinta-feira, 18 de março de 2010 21:30

Todas as Respostas

  • Pablo,

    Você quer filtrar os dados armazenados no arquivo txt antes de realizar a carga nas tables?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quinta-feira, 18 de março de 2010 12:13
    Moderador
  • Exato, 

       O arquivo txt tem N informações que não serão carregadas. A idéia é realizar um filtro apenas do que será carregado, para depois ser armazenado na tabela via OLE DB DEstination.
    O Forte Sobreviverá e o Fraco irá Sofrer
    quinta-feira, 18 de março de 2010 13:29
  • Vc já tentou usar o Condicional Split?


    Wyllian de Lima - Se a resposta ajudou vote como útil !
    quinta-feira, 18 de março de 2010 13:51
  • Nunca tentei. Qual a real função do COnditional Split?


    O Forte Sobreviverá e o Fraco irá Sofrer
    quinta-feira, 18 de março de 2010 20:03
  • AprendizBI,

      Já consegui me entender com o COnditional Split. Mais uma dúvida, há como passar no Conditional uma série de restrições dentro da cláusula IN ou nOT IN ?

    Vlw!
    O Forte Sobreviverá e o Fraco irá Sofrer
    quinta-feira, 18 de março de 2010 20:21
  • Bem, como vc deve ter percebido a Linguagem do Condicional Split não é T-SQL ou algo parecido, é uma linguagem do próprio SSIS e pelo que já usei esse objeto não vi nada parecido com In/Not In.

    Acho que vc terá que fazer uma única condição com todas as operações disponíveis, garanto a vc que será um trabalhinho complicado mas deve ajudar !

    Espero ter ajudado, boa sorte! 
    Wyllian de Lima - Se a resposta ajudou vote como útil !
    • Marcado como Resposta pabloslobo quinta-feira, 18 de março de 2010 21:48
    quinta-feira, 18 de março de 2010 21:30
  • Já fiz, não esquenta. O Chato é ter que alterar isto tudo caso algo tenha que sair.
    O Forte Sobreviverá e o Fraco irá Sofrer
    quinta-feira, 18 de março de 2010 21:48