FIX: L'istruzione UPDATE CUBE MDX scrive il valore parte restante della formula writeback una cella NULL

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

834491
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Bug #: 14194 (Plato7x)
Microsoft distribuisce aggiornamenti rapidi di Microsoft SQL Server 2000 come un unico file scaricabile. Poiché gli aggiornamenti rapidi sono cumulativi, ogni nuova versione contiene tutti gli aggiornamenti rapidi e correzioni per tutti di protezione che sono stati inclusi con la precedente versione di aggiornamento rapido (hotfix) di SQL Server 2000.
Sintomi
In SQL Server 2000, quando si utilizza una formula di writeback ponderata di un'istruzione UPDATE CUBE di espressioni multidimensionali (MDX, MULTIDIMENSIONAL Expression), un resto di piccole dimensioni può essere lasciata una volta allocato il nuovo valore utilizzando la formula specificata. Il valore rimanente viene inserito nella tabella writeback per l'ultima cella che viene valutata nel set di writeback che specifica l'istruzione UPDATE CUBE. Se l'ultima cella è NULL, la cella verrà comunque aggiornata con il valore rimanente. Questo comportamento può causare record da visualizzare per membri di dimensione che erano precedentemente vuoti. In alcuni casi, il valore rimanente insufficiente in modo che lo strumento client verrà visualizzato il valore come zero (0).

Ad esempio, l'istruzione UPDATE CUBE di MDX riportata di seguito imposta 1998, previsioni e generale & amministrativo spese per lo stato della California con il valore € 750,000. Il nuovo valore viene allocato al singolo negozio in California in base alle loro contributo a vendite dell'anno corrente totale lordi effettive per California dell'anno precedente.

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]  ) = 750000USE_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] )  )
Poiché Alameda non dispone di alcun valore per l'account lordo vendite nella categoria di valori effettivi dell'anno corrente per 1997, si aspetta Alameda affinché nessun valore generale & amministrazione assegnato. Tuttavia, se si esegue questa istruzione UPDATE CUBE e quindi si esegue l'istruzione SELECT seguente, i risultati indicano un valore di 0.002 per Alameda:
SELECT[Measures].Members   ON COLUMNS,{ [Store].[All Stores].[USA].[CA],   Descendants([Store].[All Stores].[USA].[CA], [Store].[Store City])  } ON ROWSFROM [Budget]WHERE ( [Category].[All Category].[Forecast], [Time].[1998] , [Account].[All Account].[Net Income].[Total Expense].[General & Administration] )
nella tabella riportata di seguito visualizza i risultati previsti:
Importo
CA750000
Alameda
Beverly massimi215575.4595
Milano257017.7488
San Diego256479.9204
Roma20926.8713
Nella tabella riportata di seguito vengono visualizzati i risultati effettivi:
Importo
CA750000
Alameda0.002
Beverly massimi215575.4575
Milano257017.7488
San Diego256479.9204
Roma20926.8713
Dopo avere applicato questa correzione, è possibile che il valore rimanente verrà applicato a una delle celle nel set di writeback.
Risoluzione

Informazioni sul Service pack

Per risolvere il problema, ottenere il service pack più recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack più recente per SQL Server 2000

Informazioni sull'hotfix

La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   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 A causa delle dipendenze fra i file, la funzionalità che contiene i file o l'aggiornamento rapido (hotfix) più recente può contenere anche ulteriori file.

SQL Server 2000 Analysis Services 64-bit

Per ulteriori informazioni sulla creazione di un aggiornamento rapido (hotfix) che consente di essere applicati a un server che esegue SQL Server 2000 Analysis Services a 64 bit o per determinare se un aggiornamento rapido (hotfix) è pianificato da includere in SQL Server 2000 Analysis Services 64-bit Service Pack 4, fare clic numero articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:
831653Disponibilità di generazione di aggiornamento rapido (hotfix) di Analysis Services 2000 a 64 bit
Status
Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Questo problema è stato innanzitutto corretto in SQL Server 2000 Service Pack 4.
Informazioni
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft
OLAP

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 834491 - Ultima revisione: 01/17/2015 05:59:44 - Revisione: 2.3

  • Microsoft SQL Server 2000 Analysis Services
  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB834491 KbMtit
Feedback