Modelador de Dados
5. Módulos
5.1. Propriedades
Ao criar um módulo o 4insights possibilita uma serie de propriedades que são diferentes entre Dimensão e Fato, neste tópico será ilustrado de forma detalhada, começando pelo módulo de Dimensão.
Propriedades de um Módulo de Dimensão
O módulo de dimensão ao ser criado pode ser habilitado as propriedades "Modulo de Tempo", "Habilitar versionamento", "Habilitar inserção automática de chaves estrageiras quando houver rejeição", "Habilitar Script SQL de pré-execução" e "Habilitar Script SQL de pós-execução".
Propriedade "Modulo de Tempo"
Ao habilitar essa propriedade você está dizendo ao 4insights que esse módulo irá conter informação de tempo, tais como Data, Semana, Mês, Semestre etc. Por padrão o 4insights já disponibiliza um módulo de tempo que é alimentada de forma automática, descartando a necessidade da construção de um processo de extração, esse módulo será detalhado nos próximos tópicos.
Propriedade "Habilitar versionamento (Slowly Changing Dimension)"
Ao habilitar essa propriedade o 4insights irá considerar que essa dimensão será versionada, de forma que na entrada dos dados seja mantido o histórico dos registros existentes com a mesma chave, para garantir esse controle o 4insights irá incluir as seguintes colunas na tabela "Lookup":
- Surrugate: Essa coluna irá conter um sequencial que será gerado na inserção do registro garantindo a unicidade do mesmo.
- Data de Inicio da Vigência: Essa coluna irá conter a data em que o registro inicia sua validade.
- Data de Fim da Vigência: Essa coluna irá conter a data em que o registro encerra sua validade, sendo o valor atualizado quando uma nova versão do registro for processada.
Obs.: O 4insights somente irá versionar registros que são carregados de forma lenta, ou seja, não sendo possível o versionamento do mesmo registro na mesma carga.
Propriedade "Habilitar inserção automática de chaves estrangeiras quando houver rejeição"
Por padrão o 4insights ao processar os dados de uma dimensão que tem relacionamento com outra (uma Foreign Key) é realizado uma validação lógica para garantir que o registro exista na tabela relacionada, e caso o registro não exista, o 4insights irá rejeitar esse registro e inseri-lo na tabela de rejeição (Reject), mas ao habilitar essa propriedade o processo de carga se comporta de maneira diferente, sendo que ao invés de rejeitar o registro ele é inserido na tabela relacionada com os valores padrão das colunas que são definidos na criação do atributo. Sendo assim o registro irá passar por essa validação e ir para a tabela de negócio.
Propriedade "Habilitar Script SQL de pré-execução"
Com essa propriedade habilitada o usuário pode escrever um Script SQL que será executado antes do processo de carga começar, esse Script pode conter varias instruções, desde que sejam separadas por ponto e virgula (;), nessa área você pode utilizar os parâmetros criados na configuração do ambiente usando a seguinte syntaxe ${<nome da variável>}.
Ex.: Insert into temp_foo as select * from ${schema_name}.foo
Propriedade "Habilitar Script SQL de pós-execução"
Com essa propriedade habilitada o usuário pode escrever um Script SQL que será executado depois que todo o processo de carga deste módulo, esse Script pode conter varias instruções, desde que sejam separadas por ponto e virgula (;), nessa área você pode utilizar os parâmetros criados na configuração do ambiente usando a seguinte syntaxe ${<nome da variável>}.Ex.: Insert into temp_foo as select * from ${schema_name}.foo
Propriedades de um Módulo de Fato
O módulo de fato ao ser criado pode ser habilitado as propriedades "Habilitar Script SQL de pré-execução" e "Habilitar Script SQL de pós-execução" e tem o mesmo comportamento das mesmas propriedades do módulo de dimensão.