none
Erro em referencia

所有回覆

  • Depois de ler o outro post...

     

    talvez seja só processar as dimensões antes de processar o cubo.

     

    De qualquer forma, o problema é que no grupo de medidas SISTEMA tem uma referencia a pesso 2 que não está na dimensão Pessoas.

     

    Da pra verificar? o histórico do outro trhead é grande...


    Miguel Salles Analista Programador BI
    2011年12月8日 下午 06:25
  • O que gostaria de verificar?

    Eu vi nessa outra thread:

    http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/c60ffe49-325e-4a16-82cc-543ea4277a2d/

    Que a causa é como a dimensão está relacionada com outras, estas não podem ter valores nulos.

    Preenchi os valores das dimensões a mão...

    Ao menos o erro mudou de dimensão!! heheeh..

    []s

    2011年12月8日 下午 06:55
  • Pelo que pude entender os campos das dimensões devem ser todos preenchidos!

    Ou seja, na verdade não deve ter nenhum campo NULL.

    Tenho outra dúvida...
    Por essa situação de "não ter campo NULL", consigo identificar esse problema na migração dos dados (Server->Local) pelo Integration Services?

    []s

    2011年12月8日 下午 07:49
  • Ola Bruno , bom dia,

    Um DW bem estruturado geralmente nao possui dimensoes com valores nulos, mas eh possivel parametrizar no BIDS para que ele processe mesmo que os valores estejam nulos.

    Vc pode identificar sim pelo Integration Services atraves de validaçoes previas em seu pacote. Coloque um step apos a importacao para verificacao dos campos nulos.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    2011年12月9日 上午 11:13
  • Eduardo, bom dia!!

    Pois é, eu também acho que a situação de ter "nulo" fica improvável.

    Na minha situação por exemplo:
    -> Fiz toda a importação dos dados pelo IS.
    -> Verifiquei pelo SSMS os dados.
    -> Se tivesse alguma informação "fora" do contexto, não seria possível cadastrar devido as Pks, Fks e etc..

    Para ser sincero, também não entendi esse problema de campo NULL.
    Agora por exemplo:

    -> Exibe o mesmo erro
    -> Porém visualizei na tabela e os dados estão corretos!! óbvio!

    PESSOA:
    1    Ciclano
    2    Fulano

    PROCESSO:
    1     x
    2     y

    PESSOA _PROCESSO:
    1       2
    2       1

    Exibe o erro referente ao registro em destaque. Agora...o motivo??? heheheeh esse tá dificil de saber.

    []s

     

    2011年12月9日 上午 11:38
  • Bruno,

     

    Assim como o Eduardo disse, em um DW bem estruturado, não existem dimensões ou fato nulos, por que disso:

    Na tabela fato:

    - Como voce calcula nulo?

    - Qual visão voce tera com nulo?

    Na tabela dimensão:

    - O que nulo especifica sobre uma dimensao?

     

    A melhor opção que voce tem a fazer, é colocar um valor default em todas as dimensões, e caso nenhuma das não default sirva para aquele fato, utilize esta default.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    2011年12月9日 上午 11:38
    版主
  • Bruno, como a sua modelagem eh um pouco mais complexa as vezes o erro na esta ligado a dimensao que esta diretamente ligada com a tabela fato. Ja passei por varias situacoes onde o BIDS apontava o erro no primeiro nivel da dimensao e as vezes o erro estava no ultimo nivel.

    Exemplo:

    Eu tenho uma dimensao aqui que possui tres tabelas relacionadas:

    - Cliente --> Regional Nivel 1 --> Regional Nivel 2 --> Regional Nivel 3

    As vezes o BIDS aponta que o erro estava na tabela de clientes, mas na verdade o erro estava na tabela Regional Nivel 3.

    Veja as outras tabelas co-relacionadas.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    2011年12月9日 上午 11:53
  • Concordo com vcs!!

    Só que porque apenas um único registro de uma Dimensão N:N dá erro na hora do processo?

    PESSOAS_PROCESSO
    1                   2
    2                   1 -> Se eu retirar e processar o cubo, funciona perfeitamente!!

    ...agora, como disse...vai entender.

    []s 

     

    2011年12月9日 上午 11:55
  • ...pessoal, acho que encontrei a causa do erro!

    vi num post aqui do MSDN que é necessário processar as dimensões para depois o CUBO. Não se se isso realmente faz sentido...

    mas na base de teste que montei aqui, funcionou !!

    ..só que por ser uma base de teste tendo poucos dados (no máximo 3 e 5 registros), pude facilmente identificar!!
    quanto a questão do NULL, realmente não faz sentido, pois já na migração o IS iria reclamar.

    ..agora pessoal, preciso entender a causa realmente aqui no projeto...digamos de verdade!!

    ADICIONANDO:

    O erro agora acontece na tabela FATO (Sistema) referente ao IDPessoa. Informa que não existe o campo IDPessoa dentro de Sistema.

    []s

    2011年12月9日 下午 12:44
  • Bruno,

     

    Conseguiu resolver o seu problema? Caso voce reprocesse todo o cubo, ele ira automaticamente processar primeiro as dimensoes, e isso realmente faz sentido, uma vez que as fatos dependem das dimensões, mas as dimensões não dependem da fato.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    2011年12月12日 上午 11:33
    版主
  • Fabrizzio e Bruno, na teoria o cubo processa primeiramente as dimensoes, mas eu recomendo sempre processar as dimensoes primeiro antes do cubo. Ja tive varios problemas no momento do deploy e quando processei as dimensoes primeiramente, o cubo processou normal.

    Recomendo processar as dimensoes antes do cubo.

     

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    2011年12月12日 上午 11:38
  • Olá..senhores!!

    Então...ainda estou com esse problema.

    Alguns momentos processando as dimensões o cubo e processado normalmente. Já em outros, dá erro..

    De qualquer forma, estou vendo aqui com uma outra base de poucos registros.

    []s

    2011年12月12日 下午 03:11
  • Eu não sei o que acontece...realmente :(

    Processo as dimensões e cubo...

    O cubo retorna com um erro na tabela fato:
    ID_Pessoa Valor  2 não encontrado...

    Fazendo um select na tabela PESSOA..não existe esse valor 2, daí a questão:

    - Onde o SSAS enxerga o ID_Pessoa como 2? Sei que vcs já falaram que os erros não são confiaveis. Verifiquei toda a base e
    nenhum lugar tem o ID_Pessoa como 2.

    - Resolvi então, excluir esse campo. Tirei de SISTEMA o campo ID_Pessoa. Outro erro em outro campo, foi exibido!! hehehe

    Vcs poderiam ajudar a entender a "causa" desse problema, conforme o link:
    http://support.microsoft.com/kb/922673/pt

     

    []s

    2011年12月12日 下午 03:40
  • Oi Bruno,

    Vc viu meu post desta discussao enviado em "sexta-feira, 9 de dezembro de 2011 11:53" ?

    Verifique as tabelas co-relacionadas com na dimensao. As vezes o problema nao esta na tabela dimensao diretamente ligada com a fato, as vezes o problema estao em seus ramos.
    Exemplo:
    Uma dimensao no BIDS onde possui os atributos de NOME CLIENTE e NOME CIDADE
    mas no DW esses atributos estao em tabelas diferentes: DIM_CLIENTE e DIM_LOCALIZACAO relacionadas na dimensao.
    O problema neste caso pode estar na DIM_LOCALIZACAO e nao na DIM_CLIENTE, entende? O problema pode estar em outro nivel.
    Abs.

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    2011年12月12日 下午 04:49
  • Olá Eduardo,

    Sim eu verifiquei..inclusive até coloquei:

    Sei que vcs já falaram que oserros não são confiaveis.

    ...fiz uma pesquisa pelo campo na base de dados sp_columns e as tabelas que contem o campo, não tem o valor mencionado no erro.

    eu só queria entender, o que "procurar" nas tabelas relacionadas.

    nem isso eu tô sabendo... heheh

    []s

    2011年12月12日 下午 04:55
  • Veja em qual dimensao ele da o erro...
    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    2011年12月12日 下午 05:03
  • ...dá erro na tabela fato sistema.

    dizendo que não "existe" o campo "ID_Pessoa" com valor  xyz..

    e realmente o campo IDPessoa não existe em SISTEMA.

    Uma breve modelagem...

    SISTEMA -> Artigo -> Processos -> Pessoas_Processos - > Pessoas.

    Existem atributos em Pessoas que devo utilizar...

    editando...

    será que devo mudar minha modelagem para:

    SISTEMA -> Processos -> Artigos
                      Pessoas_Processos 
                      Pessoas

    ???

    []s


    2011年12月12日 下午 05:08
  • Situação...

    Tirei a tabela Pessoas_Processos, colocando os campos de Pessoas dentro de Processos.

    Feito assim, funcionou perfeitamente!!

    ..questão: será que isso está correto?

    []s

    2011年12月12日 下午 05:36
  • Pessoal..descobri o erro..

    Questão principal, que aprendi apanhando.

    O Cubo quando processado ele, digamos, sai varrendo todas as relaçãoes, IDs e etc..no exemplo, estava dando erro em IDPessoa com valor 2 pelo seguinte:

    Essa pessoa(2) não tinha processo, o SSAS exibia o erro referente ao campo IDPessoa.
    Com cheguei a conclusão.

    Peguei a tabela Pessoas_Processos e Processos, adicionando os campos de Processos em Pessoas.
    Logo de inicio pude ver que alguns registros estavam com o campo Id_Processo como NULL

    ..chegando então a conclusão,ou seja,  terei que validar a entrada de dados pelo SSIS para poder voltar e consegui processar normalmente.

    []s

    2011年12月12日 下午 07:23
  • pessoal,

    meu pensamento de ontem estava errado. pois atribui a tabela de pessoa somente um processo. sendo que a pessoa pode ter 'n' processos.

    na modelagem de agora, a relação de referencia não está funcionando, devido: (acredito eu...rs! )

    SISTEMA -> ARTIGO - > PROCESSO - > 
                                        PESSOA_PROCESSO
                                        PESSOA

    Eu tinha feito:
    SISTEMA -> ARTIGO - > PESSOA ( <- com todos os campos de processos e pessoas )

    Só que ai percebi a questão do N:N.

    Pergunto:

    Pelo tipo de referencia, sera que devo colocar a tabela de PESSOA_PROCESSO dentro de PESSOA? Ou seja, cadastrar a quantidade de registro em pessoas de acordo com a quantidade de processos?

    2011年12月13日 下午 12:50