KB2430162 - ÅTGÄRD: Felmeddelandet "Uttrycket innehåller en funktion som inte kan användas på en uppsättning med fler än 4 294 967 296 tupplar" visas när du försöker köra en MDX-fråga i SSAS 2008 eller i SSAS 2008 R2

Microsoft distribuerar Microsoft SQL Server 2008 Service Pack 1 (SP1) eller SQL Server 2008 R2-korrigeringar som en nedladdningsbar fil. Eftersom korrigeringarna är kumulativa innehåller varje ny utgåva alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare korrigeringsversionen för SQL Server 2008 Service Pack 1 (SP1) eller SQL Server 2008 R2.

Symptom

Tänk dig följande scenario:

  • Du har en MDX-fråga (Multidimensional Expressions) som uppfyller följande villkor i Microsoft SQL Server 2008 Analysis Services (SSAS) 2008 eller i Microsoft SQL Server 2008 R2 Analysis Services (SSAS) 2008 R2:

    • Frågan använder funktionen CROSSJOIN.

    • Uttrycket för frågan har fler än två argumentuppsättningar som består av par från olika attributhierarkier i samma dimension.

    • Dessa uppsättningar avgränsas av en annan uppsättning som består av par från en annan dimension.

    • Det teoretiska resultatet för funktionen CROSSJOIN är vanligtvis mer än 4 294 967 296 tupplar.
      Du har till exempel en MDX-fråga som innehåller följande:

      WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Customer].[Customer].[Customer], [Product].[Product].[Product])
      SELECT {} ON 0,
      S.ITEM(1) ON 1
      FROM [Adventureworks]
      
  • Du försöker köra frågan.

I det här scenariot körs inte frågan. Dessutom visas följande felmeddelande:

Obs

Uttrycket innehåller en funktion som inte kan användas på en uppsättning med fler än 4 294 967 296 tupplar.

Den här typen av MDX-fråga kan genereras automatiskt av en Excel-pivottabell.

Lösning

Information om kumulativ uppdatering

SQL Server 2008 SP1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 11. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 Service Pack 1 (SP1) klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2413738 Kumulativ uppdateringspaket 11 för SQL Server 2008 Service Pack 1 Obs! Eftersom versionerna är kumulativa innehåller varje ny korrigering alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 Service Pack 1 (SP1)-korrigeringen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

970365 SQL Server 2008-versionerna som släpptes efter att Service Pack 1 SQL Server 2008 släpptes

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 5. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 R2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2438347 kumulativt uppdateringspaket 5 för SQL Server 2008 R2 Obs! Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

981356 De SQL Server 2008 R2-versionerna som släpptes efter att SQL Server 2008 R2 släpptes

SQL Server 2008 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 2 för SQL Server 2008 Service Pack 2. Om du vill veta mer om det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2467239 Kumulativ uppdatering paket 2 för SQL Server 2008 Service Pack 2Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen. Microsoft rekommenderar att du installerar den senaste korrigeringsversionen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2402659 Snabbkorrigeringar för SQL Server 2008 som släpptes efter att SQL Server 2008 Service Pack 2 släpptes Snabbkorrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack-versioner. Du måste använda en snabbkorrigering för SQL Server 2008 Service Pack 2 på en installation av SQL Server 2008 Service Pack 2. Som standard ingår snabbkorrigeringar i en SQL Server Service Pack i nästa SQL Server Service Pack.

Lösning

Du kan komma runt det här problemet genom att använda ett uttryck som har två angränsande attribut från samma dimension i frågan. MDX-frågan innehåller till exempel följande:

WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Product].[Product].[Product], [Customer].[Customer].[Customer])
SELECT {} ON 0,
S.ITEM(1) ON 1
FROM [Adventureworks]

      

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".