Depurar Cargas de Dados e Construções de Dimensão
Problemas com carregamentos de dados do Essbase e builds de dimensões incluem carregamentos incorretos ou processos com falha. A origem pode conter membros desconhecidos ou campos ausentes/inválidos, a regra de carregamento pode ser inválida ou não há conexão com o servidor ou com os dados de origem. Os logs de erro podem ajudar na depuração.
Se uma origem de dados não for carregada corretamente no Essbase Server, certifique-se de estar conectado ao aplicativo e banco de dados apropriados e de estar carregando a origem de dados correta.
Se você ainda encontrar problemas, consulte estes tópicos:
-
Criar Critérios de Rejeição para Marcadores de Fim de Arquivo
-
Como o Essbase Processa Campos Ausentes ou Inválidos Durante um Carregamento de Dados
Depois de corrigir os problemas, você poderá recarregar os registros que não foram carregados recarregando o log de erros. Consulte: Carregar dos Logs de Erro de Criação de Dimensão e Carregamento de Dados.
Verifique se o Essbase Server está Disponível
Se você não conseguir carregar dados, certifique-se de que o Essbase Server esteja em execução. Tente acessar o Essbase Server para algumas outras operações.
Por exemplo, verifique se você pode se conectar ao seu aplicativo Essbase para obter uma recuperação: tente executar uma consulta no Smart View.
Verificar se os Dados de Origem Estão Disponíveis
Se o Essbase não puder acessar os dados de origem que você deseja carregar, certifique-se (se for um arquivo) de que ele está desbloqueado e que o caminho e a extensão do arquivo estão corretos. Se os dados de origem forem um banco de dados externo, verifique se eles estão em execução e se você pode estabelecer conexão.
Verifique os seguintes detalhes sobre os dados de origem.
-
Os dados de origem não estão abertos (por exemplo, alguém está editando os dados de origem?).
O Essbase só pode carregar dados de origem que não estão bloqueados por outro usuário ou aplicativo.
-
Os dados de origem têm a extensão de arquivo correta.
Os arquivos de texto devem ter uma extensão
.txt; os arquivos de regras devem ter uma extensão.rul. -
O nome do arquivo de dados de origem e o nome do caminho estão corretos.
Verifique erros ortográficos.
-
Os dados de origem estão no local especificado.
Certifique-se de que ninguém tenha movido ou excluído o arquivo de dados de origem.
-
Se você estiver usando uma origem de dados SQL:
-
Os detalhes da conexão (como nome de usuário, senha e nome do banco de dados) estão corretos.
-
Você pode se conectar aos dados de origem SQL sem usar o Essbase.
-
Verificar Logs de Erro
É uma boa ideia fazer com que o Essbase grave em um log de erros ao executar carregamentos de dados ou compilações de dimensões, pois o log é uma ferramenta de depuração valiosa. Ela lista os erros que ocorreram durante uma criação de dimensão ou um carregamento de dados e inclui os registros que falharam no carregamento.
Depois de corrigir os erros, você poderá recarregar a partir do log de erros. Se não houver log de erros, verifique se as seguintes condições existem:
-
A pessoa que está executando o job de carregamento de dados ou de criação de dimensão configurou um log de erros. Ao executar um carregamento de dados ou um build de dimensão, você pode dizer ao Essbase para abortar o carregamento de dados em caso de erros ou gravar/anexar os erros a um log.
Quando o Essbase cria um log de erros para criação de dimensão ou carregamento de dados, ele é criado no diretório de cubo. O formato do arquivo é
err_<databasename>_<number>.txt. -
A origem dos dados e o Essbase Server estão disponíveis.
Consulte Verificar se o Essbase Server Está Disponível e Verificar se os Dados de Origem Estão Disponíveis
-
O Essbase Server travou durante o carregamento de dados.
Em caso afirmativo, você provavelmente recebeu um erro de timeout de rede no cliente.
-
O log do aplicativo existe.
Se o log de erros existir, mas estiver vazio, o Essbase não considerará que ocorreu um erro durante o carregamento. Verifique se as seguintes condições existem:
-
A regra de carregamento contém critérios de seleção ou rejeição que rejeitaram todos os registros na origem.
Consulte Selecionar e Rejeitar Registros.
-
A regra de carregamento é validada corretamente.
Consulte Requisitos para Arquivos de Regra de Carregamento de Dados Válidos e Requisitos para Arquivos de Regra de Criação de Dimensão Válidos.
Resolver Problemas com Dados Carregados Incorretamente
Se os dados do Essbase forem carregados sem erro, mas os dados parecerem estar errados, primeiro verifique os dados de origem e, em seguida, execute verificações para compartilhamentos implícitos, dimensionamento de dados, inversão de sinal e outros problemas potenciais com as regras de carregamento.
Verifique os seguintes itens para solucionar problemas dos dados que foram carregados:
-
Você carregou a origem de dados correta.
Em caso afirmativo, verifique a origem de dados novamente para se certificar de que ela contém os valores corretos.
-
Os dados de origem estão formatados corretamente.
-
Todos os intervalos são configurados corretamente.
-
Os dados estão limpos. Por exemplo, à medida que processa a origem de dados, o Essbase reconhece os nomes dos membros e conhece as dimensões às quais eles pertencem. Se um registro de origem de dados incluir inadvertidamente um membro de uma dimensão para a qual há um membro nomeado no registro do cabeçalho, o novo nome do membro substituirá o membro do registro do cabeçalho dessa dimensão. No exemplo de origem de dados a seguir, o Essbase reconhece a Flórida como um membro da dimensão Mercado. Os valores nos últimos quatro registros são interpretados como valores da Flórida em vez de valores do Texas.
Jan Actual Texas Sales "100-10" 51.7 "100-20" 102.5 "100-20" 335.0 Florida 96.7 "200-20" 276.0 "200-20" 113.1 "200-10" 167.0
-
-
Há algum membro implicitamente compartilhado (quando um pai e um filho compartilham o mesmo valor de dados) do qual você não sabia?
Um membro compartilhado implícito ocorre quando um pai e um filho compartilham o mesmo valor de dados. Isso pode acontecer se um pai tiver apenas um filho, ou apenas um filho que se acumula no pai.
-
Você adicionou dados de entrada a dados existentes em vez de substituir dados de entrada por dados existentes.
-
Você selecionou ou rejeitou todos os registros que não pretendia selecionar ou rejeitar.
Consulte Selecionar e Rejeitar Registros.
-
O sinal é revertido (por exemplo, um sinal de menos em vez de um sinal de mais) e se você executou alterações de sinal em qualquer UDAs.
Consulte Inverter sinais de campo.
-
Você limpou combinações de dados que não pretendia limpar.
Consulte Limpar Valores de Dados Existentes Durante o Carregamento de Dados.
-
Você dimensionou os valores de entrada incorretamente.
Consulte Dimensionar Valores de Dados.
-
Todos os nomes de membros e alias têm menos de 79 caracteres.
Você pode verificar os dados executando uma consulta no Smart View ou no Gerador de Relatórios.
Criar Critérios de Rejeição para Marcadores de Fim de Arquivo
Uma origem de dados SQL pode ter um marcador de fim de arquivo composto de caracteres especiais que fazem com que o carregamento de dados do Essbase ou a criação de dimensão falhe. Para corrigir esse problema, defina um critério de rejeição para rejeitar o registro do problema.
Para definir critérios de rejeição:
Como o Essbase Processa uma Regra de Carregamento
Às vezes, você pode rastrear problemas com builds de dimensões entendendo como o Essbase inicializa/valida a regra de carregamento e em que ordem ele executa operações ao processar os registros nos dados de origem.
O Essbase executa as seguintes etapas para inicializar uma regra de carregamento:
-
Valida a regra de carregamento em relação ao outline associado.
-
Valida as dimensões. Esse processo inclui garantir que o método de criação e os tipos de campo sejam compatíveis e que cada nome de dimensão seja exclusivo. Os nomes de membro devem ser exclusivos ou compartilhados.
-
Adiciona novas dimensões definidas na regra de carregamento ao outline.
-
Lê os registros de cabeçalho especificados nos dados de origem.
Em seguida, o Essbase executa as seguintes operações em cada registro dos dados de origem durante um carregamento de dados ou criação de dimensão:
-
Define os delimitadores de arquivo para todos os registros.
-
Aplica operações de campo aos dados na ordem em que as operações são definidas na regra de carregamento.
As operações de campo incluem junções, movimentos, divisões e criação de campos usando texto e junções. Para saber a ordem na qual as operações de campo são definidas na regra de carregamento, consulte Executar Operações em Campos.
-
O Essbase aplica todas as propriedades para cada campo, aplicando todas as propriedades ao campo1 antes de prosseguir para o campo2. O Essbase aplica propriedades de campo na seguinte ordem:
-
Ignora os campos definidos para serem ignorados durante o carregamento de dados.
-
Ignora os campos definidos para serem ignorados durante a criação da dimensão.
-
Sinaliza o campo de dados.
-
Aplica nomes de campo.
-
Aplica gerações de campo.
-
Executa todas as substituições na ordem em que são definidas na regra de carregamento.
-
Gota os espaços à esquerda e à direita.
-
Converte espaços para sublinhados.
-
Aplica operações de sufixo e prefixo.
-
Dimensiona valores de dados.
-
Converte texto para letras minúsculas.
-
Converte o texto em letras maiúsculas.
-
-
Adiciona membros, informações de membros, ou ambos, à estrutura de tópicos.
-
Se você optar por ignorar linhas, o Essbase ignorará o número de linhas que você especificou; caso contrário, o Essbase avançará para o primeiro registro.
-
O Essbase executa critérios de seleção ou rejeição na ordem em que os critérios são definidos na regra de carregamento. O Essbase carrega ou rejeita registros individuais dos dados de origem com base nos critérios especificados.
Como o Essbase Processa Campos Ausentes ou Inválidos Durante um Carregamento de Dados
Se um campo de membro estiver ausente durante um carregamento de dados, o Essbase usará seu valor anterior, mas se não houver nenhum, o carregamento será interrompido. Nomes de membro desconhecidos fazem com que o registro seja rejeitado. Se houver um campo de dados inválido, o carregamento de dados será interrompido, resultando em um carregamento de dados parcial.
Para obter informações sobre como reiniciar o carregamento de dados após esses problemas, consulte Load from Dimension Build and Data Load Error Logs.
Campos de Membro ou Dimensão Ausentes
Se um campo de dimensão ou membro estiver ausente, o Essbase usará o valor usado anteriormente para esse campo de dimensão ou membro. Se não houver valor anterior, o Essbase interromperá o carregamento de dados.
Por exemplo, quando você carrega o arquivo a seguir no banco de dados Sample.Basic, o Essbase mapeia o campo de membro Ohio para a dimensão Mercado de todos os registros, incluindo os registros que têm Cerveja Raiz e Cola Diet na dimensão Produto.
Jan Sales Actual Ohio
Cola 25
"Root Beer" 50
"Diet Cola" 19O Essbase interromperá o carregamento de dados se nenhum registro anterior contiver um valor para o campo de membro ausente. Por exemplo, se você tentar carregar o arquivo a seguir no banco de dados Sample.Basic, o carregamento de dados será interrompido, porque a dimensão Mercado (Ohio, no exemplo anterior) não está especificada.
Jan Sales Actual
Cola 25
"Root Beer" 50
"Diet Cola" 19Campos de membro desconhecidos
Se você estiver executando um carregamento de dados e um nome de membro desconhecido for encontrado, o registro inteiro será rejeitado. Se houver um registro anterior com um nome de membro para o campo de membro ausente, o Essbase continuará para o próximo registro. Se não houver registro anterior, o carregamento de dados será interrompido. Por exemplo, quando você carrega o arquivo a seguir no banco de dados de Amostra Básica, o registro que contém Ginger Ale é rejeitado porque não é um nome de membro válido. Os registros contendo Cola, Root Beer e Cream Soda são carregados. Se Ginger Ale estivesse no primeiro registro, no entanto, o carregamento de dados pararia.
Jan, Sales, Actual
Ohio Cola 2
"Root Beer" 12
"Ginger Ale" 15
"Cream Soda" 11Observação:
Se você estiver executando uma criação de dimensão, poderá adicionar o novo membro ao banco de dados. Consulte Executar Cargas de Dados ou Construções de Dimensão.
Campos de dados inválidos
Se você estiver executando um carregamento de dados, o carregamento de dados será interrompido se for encontrado um campo de dados inválido. Todos os campos lidos antes do campo inválido serem carregados no cubo, resultando em um carregamento de dados parcial. Por exemplo, no arquivo a seguir, o carregamento de dados é interrompido quando encontra o valor de 15 dados. Os registros Vendas Jan e Fev são carregados, mas não os registros Vendas Mar e Abr.
East Cola Actual
Sales Jan $10
Feb $21
Mar $15-
Apr $16Carregar dos Logs de Erro de Criação e Carga de Dados
Se o build da dimensão do Essbase ou o carregamento de dados falhar, você poderá carregar somente os registros que falharam, carregando a partir do log de erros. Recarregar apenas os registros com falha é muito mais rápido do que recarregar cada registro.
Para recarregar a partir do log de erros,