Home

TOTVS | Plataformas e tecnologias

Árvore de páginas

FAQ: 53440-Como corrigir informações de 'não definido' ou 'nao encontrado' na Dimensão Mircorregião?
Produto:Datasul
Ambiente:
Versão:1
Sintoma
53440-Como corrigir informações de 'não definido' ou 'nao encontrado' na Dimensão Mircorregião?
Causa
Como corrigir informações de 'não definido' ou 'nao encontrado' na Dimensão Mircorregião?
Solução
A Dimensão “Microrregião” (BIN_SCH_MTR) é populada à partir da tabela “DW_DTS_Commercial_Territory” campo “CD_MicroTerritory”. A geração dessa dimensão é realizada, a partir dos registros das Tabelas Fatos relacionadas à tabela “regiao-microrregiao”. Esta tabela, é gerada do relacionamento entre as tabelas “micro-reg” e “regiao” através da execução da Stored Procedure “up_dts_insert_commercial_all_statisticsc” da base de dados SQL DTS_STAGE, que é executada no pacote de Regras de Negócio do Processo ETL. Desta forma é necessário observar os seguintes pontos: 
  1. As Tabelas Fatos estão populadas corretamente com estas informações? 
ü      Os campos “CD_Comercial_Territory” e “CD_MicroTerritory” das tabelas fatos devem estar preenchidos coretamente: o       CD_Comercial_Territory: normalmente este campo é populado através da tabela de “Representante”;
Representante

o       CD_MicroTerritory: normalmente este campo é populado através da tabela de “Emitente”;

 

Clientes

 

2. Existe o relacionamento entre a Região Comercial e a Microrregião no EMS?

Verificar no programa CD0306 (Atualização Microrregião), se existe o cadastro da combinação de Região Comercial + Microrregião que está sendo apresentada no Datasul BI:

 

Microrregião
 
 
Como identificar os registros inconsistentes no Datasul BI:
 Passo1: Identificar os registros inconsistentes na tabela DW_DTS_Commercial_Territory” com o seguinte comando na base de dados SQL = DTS_DataWarehouse: SELECT * FROM DW_DTS_Commercial_TerritoryWHERE TX_MicroTerritory LIKE '%________________________________________%' Obs. Dentro das “aspas + %” (‘%%’) pode preencher com a descrição da inconsistência desejada, como exemplo: ‘zzzzzzzzzzz’ ou ‘não encontrado’ ou ‘não informado’ ou ‘não definido’, etc.... 

PASSO 1

 

Passo 2 = Identificar com qual TABELA FATO o registro inconsistente está relacionado na base DTS_DataWarehouse, para isto deve-se localizar o conteúdo do campo SK_Comercial_Territory do registro inconsistente e completar o comando abaixo: 

Delete from dbo.DW_DTS_Commercial_Territory where SK_Comercial_Territory = <conteudo do SK_Comercial_Territory inconsistente>Exemplo: Delete from DW_DTS_Commercial_Territory WHERE SK_Comercial_Territory = '2' 

O SQL irá apresentar uma mensagem de erro dizendo que ele não pode eliminar o registro devido a ele estar relacionado a uma tabela fato e apresenta o nome da tabela, ou seja o registro inconsistente está relacionado com esta tabela fato, no exemplo abaixo o registro inconsistente está relacionado com a tabela DIS_DTS_Invoice_Fact.

PASSO 2 

 

Caso a informação for um 'lixo de base', o comando irá eliminar o registro, e neste caso, para que a informação não seja mais apresentada no Datasul BI, basta realizar o procedimento de Rebuild na dimensão BIN_SCH_MTR. Caso seja apresentada uma mensagem de erro, como na imagem a cima, seguir os demais procedimentos descritos abaixo:

 

Passo 3 = Identificar na TABELA FATO os registros inconsistentes, o SQL identifica com qual TABELA FATO o registro da dimensão "DW_DTS_Commercial_Territory " está relacionado, como exemplo na imagem do Passo 3, e após identificar qual a Tabela Fato está relacionado, selecionar esta tabela utilizando a SK inconsistente: Select * from DIS_DTS_Invoice_Fact where SK_Comercial_Territory = <conteudo do SK_Comercial_Territory inconsistente> Exemplo:

Select * from DIS_DTS_Invoice_Fact where SK_Comercial_Territory  = 2

PASSO 3

 

O resultado desse comando irá apresentar os registros inconsistentes, no caso do exemplo, originados dos movimentos do assunto faturamento.


Deve-se localizar o campo “cd_emitente” e consultar os códigos desses emitentes no EMS, Cadastro de Emitente conforme imagem já apresentada abaixo, e verificar se a informação de microrregião está contida.

 

Cliente 1

 

E também, deve-se localizar o campo “cd_representative” e verificar os códigos dos representantes apresentados e consultá-los no EMS, Cadastro de Representante, conforme imagem apresentada abaixo, e verificar se a informação de região está contida.

 

Representante 1