AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 1516
Accepted
Lumpy
Lumpy
Asked: 2011-03-02 07:54:31 +0800 CST2011-03-02 07:54:31 +0800 CST 2011-03-02 07:54:31 +0800 CST

Hierarquia de dimensões do SSAS causa erros de implantação

  • 772

Configurei uma conexão de fonte de dados para o banco de dados Adventure Works DW usando as credenciais do serviço.

Estou criando uma dimensão usando a DimDatetabela. Para simplificar as coisas, estou usando apenas as colunas Calendar Quarter, Calendar Year, Day Number of Month, English Month Namee .Date Key

Cada um desses atributos foi definido como AttributeHierarchyVisible = False.

Arrastei o Calendar Yearinto Hierarchiesseguido por Calendar Quarter, English Month Name, Day Number of Month.

Eu defino o atributo Relationships para:

Tecla de data -> Número do dia do mês -> Nome do mês em inglês-> Trimestre do calendário -> Ano civil

Todos os relacionamentos são definidos como rigid.

Quando tento implantar essa configuração, recebo os seguintes erros:

Erro 2 Erro interno: a operação foi encerrada sem sucesso. 0 0
Erro 3 Servidor: A operação atual foi cancelada porque outra operação na transação falhou. 0 0

Também recebo este aviso:

Aviso 1 Erros no mecanismo de armazenamento OLAP: Uma chave de atributo duplicada foi encontrada durante o processamento: Tabela: 'dbo_DimDate', Coluna: 'CalendarQuarter', Valor: '2'. O atributo é 'Calendário Trimestre'. 0 0

Não consigo descobrir o que está acontecendo ou por que isso está dando erro. O livro que estou usando me deu as etapas listadas acima e o Google falhou comigo até agora (uma coisa muito assustadora).

Qualquer ajuda que vocês possam me dar para me ajudar a descobrir o que estou fazendo de errado seria muito apreciada.

ssas
  • 5 5 respostas
  • 21536 Views

5 respostas

  • Voted
  1. ol penney
    2011-07-20T06:35:10+08:002011-07-20T06:35:10+08:00

    Sinto que você está tratando os sintomas e não a causa suprimindo os erros.

    Eu defino o atributo Relacionamentos paraDate Key -> Day Number Of Month -> English Month Name-> Calendar Quarter -> Calendar Year

    Se esses dados se parecerem com:

    "16062000"--> 6 --> "junho" ---> "T2" --> 2000

    então o Analysis Services vai realmente ficar com a corcunda, pois Q2terá uma Q2alimentação de 2000 e 2001, etc.

    Você deve garantir que a hierarquia consista em chaves exclusivas, por exemplo:

    16062000--->062000-->Q12000--->2000

    Você pode usar campos diferentes para a Namepropriedade de cada atributo, mas use as chaves para as chaves. Ah, e se você classificar por chave no mês, isso impedirá a classificação clássica de meses em ordem alfabética.

    • 8
  2. Kenneth
    2011-07-20T07:06:48+08:002011-07-20T07:06:48+08:00

    Isso vai causar problemas com sua dimensão. Mais importante, seu cubo dará respostas incorretas.

    Ignorar erros de processamento nunca é uma boa ideia. Este é um problema muito simples de corrigir. Você só precisa definir seus atributos-chave corretamente. Por padrão, o SSAS usará a mesma coluna para nome e chave.

    Normalmente, o único atributo que deve ser configurado dessa forma é a chave verdadeira (há exceções). A coluna que é exclusiva em todos os registros. Pela sua postagem, acho que é isso DateKey.

    O restante de seus atributos deve usar chaves compostas.

    Para ver os problemas com seu cubo, defina AttributeHierarchyVisible = Truee brinque com os dados. O SSAS está confuso sobre o que você está tentando fazer.

    ol penney lhe forneceu a resposta correta . Isso também pode ajudar: Uma chave de atributo duplicada foi encontrada durante o processamento… por Hilmar Buchta.

    • 7
  3. Best Answer
    ScottCher
    2011-03-03T10:04:36+08:002011-03-03T10:04:36+08:00

    Muitas vezes encontrei erros relatados do SSAS indicando um valor de chave duplicado na dimensão. Quando revisei os dados de origem, as duplicatas não foram encontradas. Embora eu não possa esclarecer por que esse erro está aparecendo na dimensão, posso oferecer uma solução que ignora o erro e permite que o cubo conclua a implantação e o processamento.

    Se você abrir o objeto de dimensão e examinar as propriedades, verá uma seção para ErrorConfiguration. Se você alterar isso para "personalizado", poderá informar ao SSAS o que fazer quando encontrar erros no processamento do objeto. Se você deseja registrar o erro e permitir que o processamento continue, use "ReportAndContinue" como o valor para propriedades como KeyDuplicate, KeyNotFound, NullKeyConvertedToUnknown, NullKeyNotAllowed - o que for apropriado para seu design. Eu defino o KeyErrorLimit como 1 e defino o KeyErrorLimitAction como StopLogging para que seus arquivos de log não fiquem sobrecarregados com os mesmos erros ou erros semelhantes.

    Como eu disse, isso não RESOLVE o problema, mas permite que o cubo continue processando e, às vezes, descobri que é o suficiente.

    • 0
  4. Kay Tsar
    2017-02-07T08:10:14+08:002017-02-07T08:10:14+08:00

    Em caso de chaves duplicadas e para fazer o que Ol Penny propôs:

    16062000--->062000-->Q12000--->2000
    
    1. Edite sua dimensão
    2. Clique à direita de KeyColumns na janela Propriedades
    3. Especifique o NameColumn explicitamente
    • 0
  5. Srilaxmi
    2021-12-13T10:06:37+08:002021-12-13T10:06:37+08:00

    Na aba de atributos, selecionando a coluna do trimestre do calendário e pressionando f4 obtemos sua janela de propriedades. Lá, vá para a propriedade keyColumns e adicione o ano do calendário junto com o trimestre do calendário. Quando fazemos isso, obtemos um erro no atributo do trimestre do calendário, pois fornecemos mais de uma coluna em keyColumns. Agora vá para a propriedade NameColumn e mude de nenhum para trimestre do calendário. Assim o erro será resolvido.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve