Como carregar uma Tabela de Factos?
-
quinta-feira, 5 de janeiro de 2012 15:50
Qual a melhor forma de carregar uma tabela de factos?
Deve-se primeiro criar as dimensões, e depois relacionar com a tabela de factos as chaves?
Todas as Respostas
-
quinta-feira, 5 de janeiro de 2012 17:00
Amigo,
O que vc precisa é popular a tabela fato? de acordo com seus dados transacionais ?
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp -
quinta-feira, 5 de janeiro de 2012 21:21sim é
-
sexta-feira, 6 de janeiro de 2012 15:48
A melhor maneira é modelar seu DW primeiro, e no banco onde ficarão as Dimensões e os Fatos, vc desenha já criando as chaves.
Depois, no SSIS, vc importa/carrega primeiro as Dimensões e depois os Fatos, para não dar erro de chave estrangeira.
Abraços.
Carlos Eduardo B Martins Junior
e-mail: kdu.bmartins@gmail.com
skype: cmartins.othink -
sábado, 7 de janeiro de 2012 03:03
E como faço essa associação entre os a tabela de de factos e dimensões? a chave das dimensões deve ser um inteiro? IDENTITY (1,1) que gera sempre um chave com um novo registo?
-
sábado, 7 de janeiro de 2012 17:16Moderador
TheAkaBroken,
Então a tabela Fatos será o repositório para os seus dados as dimensões são porções e pequenas estruturas que contemplam algumas partes de dados, neste caso, as dimensões devem respeitar a mesma estrutura e valores existentes na tabela fato para que possa existir o relacionamento entre estes elementos.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com] -
segunda-feira, 9 de janeiro de 2012 11:08
Amigo, bom dia.
Veja se as dimensões já possuem ID´s únicos. Aí vc utiliza os próprios códigos nativos , mas se desejar utilizar um campo auto-incremental (identiy) pode utilizar sem problemas.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp- Editado Eduardo G. PereiraMicrosoft Community Contributor segunda-feira, 9 de janeiro de 2012 11:09
-
segunda-feira, 9 de janeiro de 2012 11:24
Tente pensar sempre que as dimensões são os seus dados "catalogáveis", ou seja, que tem um escopo permitido, normalmente são atributos relacionados a tempo, espaço, tipo, características.
Já os fatos, são os valores propriamente ditos, aquilo que você deseja mensurar.
Dessa forma, a tabela de fatos deve conter os campos que tem relacionamento com as dimensões e os campos dos fatos, valores, mensuras.
Abraços.
Carlos Eduardo B Martins Junior
e-mail: kdu.bmartins@gmail.com
skype: cmartins.othink -
segunda-feira, 9 de janeiro de 2012 12:23Moderador
Bom Dia,
Normalmente carrega-se as dimensões primeiro e depois a tabela fato, pois, como a tabela fato relaciona-se com as dimensões, é requerido que as dimensões existam antes para evitar problemas de relacionamento. Entretanto, dependendo da sua estratégia de ETL é possível e aceitável que você opte por carregar a tabela fato primeiro (especialmente em áreas de Staging), mas não é a situação mais comum.
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia AguiarMVP, Moderator segunda-feira, 9 de janeiro de 2012 12:23
-
segunda-feira, 9 de janeiro de 2012 16:32
exatamente, é isso queeu pretendo..POis normalmente os ID nativos, são numeric ou char (40), por exemplo...e muitas das vezes são stamps (ex DER345739857929827373247PU)...etc...Assim eu pretendo um id auto incrementado.....
A minha tabela de factos, é portanto,um join de duas tabelas, e nessas tabelas ja têm o IDnativos das dimensões...mas ai eu quero substituir comparando o nativo, com o da dimensão, e ai inserir na tabela de factos o id criado.
correto?
-
segunda-feira, 9 de janeiro de 2012 16:37
Amigo, se optar em utilizar os ID´s auto-incrementais, vc não precisa popular seu ID nativo na tabela FATO. Basta vc utilizar o ID´s auto-incremental nas chaves. Preserve o ID nativo em sua dimensão para consultas posteriores.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp -
terça-feira, 10 de janeiro de 2012 18:49
Ola, como se faz para carregar, para a tabela de factos, um ID, que neste caso é o degeneration dimension, pois é o numero de encomenda.
No meu modelo fisico do DW,na tabela de factos - está como chave primaria da, ...as restantes, as dimensões, são FK.
Agora eu vou mapear, fazendo um merge join com as encomendas e as linhas de encomenda, e guarda o numero da encomenda nesse ID, mas acontece que pelo facto de as linhas serem mais do que uma, ele não deixa inserir porque vai repetir a chave, em mais do que um registo nos factos...deu para perceber?
Como é que eu posso fazer isso? como resolvo? e como posso fazer no SSIS? alguem me sabe ajudar?
-
segunda-feira, 1 de abril de 2013 23:55
Você já tentou fazer o contrario ?
deixando suas dimensões com PK e a sua fato como FK ?

