DW Multi Empresa
28/01/2021
0
Estou criando um Data warehouse para a empresa que trabalho para então poder analisa-lo em power bi ou outra plataforma de BI pertinente. Entretanto o meu banco de dados transicional é feito para uma plataforma multi empresas/multi filial, onde minhas tabelas de dimensões são filtradas pela empresa e/ou filial assim como as minhas tabelas fato são filtradas pela filial de menor granularidade. Gerando assim uma relação conforme exemplo abaixo:
CREATE TABLE `Dimension01` (
`IDDimension01` INTEGER NOT NULL,
`Description` INTEGER NOT NULL,
PRIMARY KEY (`IDDimension01`)
);
CREATE TABLE `Dimension02` (
`ID_Dimension01` INTEGER NOT NULL,
`IDDimension02` INTEGER NOT NULL,
`Description` INTEGER NOT NULL,
PRIMARY KEY (`IDDimension02`)
);
CREATE TABLE `Fact` (
`ID_Dimension01` INTEGER NOT NULL,
`ID_Dimension02` INTEGER NOT NULL,
`IDFact` INTEGER NOT NULL,
`Fact01` INTEGER NOT NULL,
`Fact02` INTEGER NOT NULL,
PRIMARY KEY (`IDFact`)
);
Nesse caso a Dimension1 (Empresa e/ou Filial) possui relação de 1:n com as minhas tabelas fato
A dimension 1 possui relação de 1:n com a dimension2
A dimension 2 possui relação de n:n com a fato, mas quando a mesma é filtrada pela dimension1 ela possui relação de 1:n com a fato se filtrada igualmente pela dimension1.
Como proceder para gerar o relacionamento correto nesse tipo de situação?
CREATE TABLE `Dimension01` (
`IDDimension01` INTEGER NOT NULL,
`Description` INTEGER NOT NULL,
PRIMARY KEY (`IDDimension01`)
);
CREATE TABLE `Dimension02` (
`ID_Dimension01` INTEGER NOT NULL,
`IDDimension02` INTEGER NOT NULL,
`Description` INTEGER NOT NULL,
PRIMARY KEY (`IDDimension02`)
);
CREATE TABLE `Fact` (
`ID_Dimension01` INTEGER NOT NULL,
`ID_Dimension02` INTEGER NOT NULL,
`IDFact` INTEGER NOT NULL,
`Fact01` INTEGER NOT NULL,
`Fact02` INTEGER NOT NULL,
PRIMARY KEY (`IDFact`)
);
Nesse caso a Dimension1 (Empresa e/ou Filial) possui relação de 1:n com as minhas tabelas fato
A dimension 1 possui relação de 1:n com a dimension2
A dimension 2 possui relação de n:n com a fato, mas quando a mesma é filtrada pela dimension1 ela possui relação de 1:n com a fato se filtrada igualmente pela dimension1.
Como proceder para gerar o relacionamento correto nesse tipo de situação?
Luiz Noronha
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)