CORRECÇÃO: A instrução UPDATE CUBE MDX escreve o valor do resto da fórmula escrita a uma célula NULL

Traduções de Artigos Traduções de Artigos
Artigo: 834491 - Ver produtos para os quais este artigo se aplica.
Erro n.º: 14194 (Plato7x)
A Microsoft distribui correcções Microsoft SQL Server 2000 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as as correcções de segurança que foram incluídos no hotfix versão anterior do SQL Server 2000.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

No SQL Server 2000, quando utiliza uma fórmula escrita ponderada uma declaração MDX (Multidimensional Expressions) UPDATE CUBE, um pequeno restante pode ser deixado depois do novo valor é atribuído, utilizando a fórmula especificada. O valor restante é inserido na tabela de repetição de escrita para a última célula que é avaliada no conjunto de escrita que especifica a instrução UPDATE CUBE. Se a última célula for NULL, a célula ainda será actualizada com o valor restante. Este comportamento pode causar registos a apresentar para membros de dimensão que estavam anteriormente vazios. Por vezes, o valor restante é tão pouco que a ferramenta de cliente apresentará o valor como zero (0).

Por exemplo, a seguinte instrução MDX UPDATE CUBE define 1998, previsão e geral & administrativa despesas para o estado da Califórnia para um valor de $ 750,000. O novo valor é atribuído para as lojas individuais na Califórnia baseado dada à contribuição para vendas do ano actual total Gross real para California no ano anterior.

UPDATE CUBE
[Budget] SET  
( [Category].[All Category].[Forecast],  
[Account].[All Account].[Net Income].[Total Expense].[General & Administration],
[Store].[All Stores].[USA].[CA], 
[Time].[1998],
[Measures].[Amount]  ) = 750000

USE_WEIGHTED_ALLOCATION BY 
iif(
IsEmpty(( ParallelPeriod([Time].[Year], 1, [Time].Currentmember), 
[Category].[All Category].[Current Year's Actuals], [Store].Currentmember, 
[Account].[All Account].[Net Income].[Net Sales].[Gross Sales], [Measures].[Amount])),
-- Sales Value is empty for the previous year so leave the new value as NULL.
NULL, 
-- Otherwise take the Current Years Actual Gross Sales for the current store, 
--divide it by the total for all of California to get the percentage contribution 
--of this store to Gross Sales and allocate that percentage of the new 
--General & Administration value to this store.
( ParallelPeriod([Time].[Year], 1, [Time].Currentmember) ,  
[Category].[All Category].[Current Year's Actuals], [Store].Currentmember, 
[Account].[All Account].[Net Income].[Net Sales].[Gross Sales], [Measures].[Amount] )    /  
([Time].[1997], [Category].[All Category].[Current Year's Actuals], 
[Store].[All Stores].[USA].[CA], [Account].[All Account].[Net Income].[Net Sales].[Gross Sales], [Measures].[Amount] )  )

Uma vez que Alameda não tem nenhum valor para a conta de vendas Gross na categoria de valores reais do ano actual de 1997, previsto Alameda não têm geral & administração valor atribuído. No entanto, se executa esta declaração UPDATE CUBE e, em seguida, executar a seguinte instrução SELECT, os resultados mostram um valor de 0,002 para Alameda:
SELECT
[Measures].Members   ON COLUMNS,
{ [Store].[All Stores].[USA].[CA],   Descendants([Store].[All Stores].[USA].[CA], [Store].[Store City])  } 
ON ROWS
FROM [Budget]
WHERE 
( [Category].[All Category].[Forecast], 
[Time].[1998] , 
[Account].[All Account].[Net Income].[Total Expense].[General & Administration] )
a tabela seguinte apresenta os resultados esperados:
Reduzir esta tabelaExpandir esta tabela
Quantidade
CA750000
Alameda
Beverly Hills215575.4595
Los Angeles257017.7488
São Diego256479.9204
São Francisco20926.8713
A tabela seguinte apresenta os resultados reais:
Reduzir esta tabelaExpandir esta tabela
Quantidade
CA750000
Alameda0,002
Beverly Hills215575.4575
Los Angeles257017.7488
São Diego256479.9204
São Francisco20926.8713
Depois de aplicar esta correcção, o valor pendente será aplicado a uma das células no conjunto de escrita.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre a correcção

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version    Size       File name
   -------------------------------------------------------
   16-Jul-2004  01:51  8.0.960.0    221,760  Msmdcb80.dll
   16-Jul-2004  02:17  8.0.0.960  4,063,808  Msmddo80.dll
   16-Jul-2004  01:45  8.0.960.0  1,036,864  Msmdgd80.dll
   16-Jul-2004  01:39  8.0.960.0    172,608  Msmdpump.dll
   16-Jul-2004  02:27  8.0.0.960  9,642,564  Msmdsgn80.dll
   16-Jul-2004  01:40  8.0.960.0  1,839,684  Msmdsrv.exe
   16-Jul-2004  02:03  8.0.960.0  2,085,456  Msolap80.dll
   16-Jul-2004  01:17  8.0.960.0    446,524  Msmdsgn.rll
   16-Jul-2004  00:58  8.0.960.0    213,068  Msolap80.rll

Nota Devido a dependências de ficheiros, a correcção mais recente ou funcionalidade que contém estes ficheiros pode também conter ficheiros adicionais.

SQL Server 2000 Analysis Services 64-bit

Para obter informações adicionais sobre construir uma correcção que foi concebido para ser aplicados num servidor com o SQL Server 2000 Analysis Services 64-bit ou para determinar se uma correcção está agendada para ser incluído no SQL Server 2000 Analysis Services 64-bit Service Pack 4, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
831653Disponibilidade de compilação de correcção do Analysis Services 2000 de 64 bits

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 4.

Mais Informação

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 834491 - Última revisão: 21 de novembro de 2006 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Analysis Services
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB834491 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 834491

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com