« La dimension '<named set="" alias="">' n'a pas été trouvé dans le cube lorsque la chaîne, <named set="" alias="">, a été analysé » erreur lorsque vous...

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 2739928
Symptômes
Lorsque vous essayez d'exécuter une requête MDX (Multidimensional Expressions) dans Microsoft SQL Server 2012 Analysis Services (SSAS), vous recevez un message d'erreur semblable au suivant :
La dimension '<named set="" alias=""></named>' n'a pas été trouvé dans le cube lorsque la chaîne, <named set="" alias=""> </named>, a été analysé.

Notes
  • "Alias du jeu nommé"est un espace réservé pour le nom dynamique définis pour la dimension.
  • La requête MDX est exécutée avec succès dans SSAS 2008 R2.

Par exemple, vous recevez le message d'erreur lorsque vous exécutez la requête suivante sur la base de données AdventureWorks SQL Server 2008 R2 dans SSAS 2012 :
WITH   SET XQE_NS10 AS     Filter    (      [Product].[Product Categories].[Category].MEMBERS     ,        Count        (          Filter          (            CrossJoin            (              [Product].[Product Categories].[Category].MEMBERS             ,[Product].[Status].[Status].MEMBERS            )           ,              (                [Measures].[Reseller Freight Cost]               ,[Date].[Fiscal].[XQE_MDF_CM0]              )            > 20000          )         ,IncludeEmpty        )      > 0    ) /* The named set [XQE_SA0] is defined in context of the COUNT operation */  MEMBER [Date].[Fiscal].[XQE_MDF_CM0] AS     IIF    (        Count        (          Descendants          (            [Geography].[Geography].CurrentMember           ,[Geography].[Geography].[Country]          ) AS [XQE_SA0]         ,IncludeEmpty        )      > 0     ,Aggregate/* [XQE_SA0] is subsequently used in AGGREGATE */      (        [XQE_SA0]       ,[Date].[Fiscal].DefaultMember      )     ,NULL    )   SET XQE_NS0 AS     [Geography].[Geography].[Country].&[Canada] SELECT   {XQE_NS0} ON 0FROM [AdventureWorks]WHERE   [Measures].[Reseller Freight Cost];
Cause
Ce problème se produit car un alias est défini dans une étendue spécifique ne peut pas être référencé en dehors de la portée dans SSAS 2012.

Remarque : La fuite de mémoire étendue est activée dans SSAS 2008 R2. Toutefois, il est désactivé dans SSAS 2012.
Statut
Microsoft a confirmé qu'il s'agit d'un problème pour les produits Microsoft répertoriés dans la section « S'applique à ».
Contournement
Pour contourner ce problème, utilisez une des méthodes suivantes pour éviter de référencer un alias qui est en dehors de son champ d'application défini dans une requête MDX dans SSAS 2012.

Méthode 1

Référence de l'alias dans sa portée définie.

Méthode 2

Utilisez une expression MDX en double qui représente l'alias. Par exemple, pour contourner le problème dans la situation décrite dans la section « Symptômes », vous pouvez remplacer l'alias [XQE_SA0] avec l'expression suivante :
([Geography].[Geography].CurrentMember,[Geography].[Geography].[Country])
Désormais, le code suivant fonctionne correctement :
WITH   SET XQE_NS10 AS     Filter    (      [Product].[Product Categories].[Category].MEMBERS     ,        Count        (          Filter          (            CrossJoin            (              [Product].[Product Categories].[Category].MEMBERS             ,[Product].[Status].[Status].MEMBERS            )           ,              (                [Measures].[Reseller Freight Cost]               ,[Date].[Fiscal].[XQE_MDF_CM0]              )            > 20000          )         ,IncludeEmpty        )      > 0    )   MEMBER [Date].[Fiscal].[XQE_MDF_CM0] AS     IIF    (        Count        (          Descendants          (            [Geography].[Geography].CurrentMember           ,[Geography].[Geography].[Country]          ) AS [XQE_SA0]         ,IncludeEmpty        )      > 0     ,Aggregate      (        Descendants/* instead of referencing [XQE_SA0], substitute the MDX upon which it is based */          (            [Geography].[Geography].CurrentMember           ,[Geography].[Geography].[Country]          )       ,[Date].[Fiscal].DefaultMember      )     ,NULL    )   SET XQE_NS0 AS     [Geography].[Geography].[Country].&[Canada] SELECT   {XQE_NS0} ON 0FROM [AdventureWorks]WHERE   [Measures].[Reseller Freight Cost];
Références
Pour plus d'informations sur la base de données AdventureWorks pour SQL Server 2008 R2, consultez le site Web CodePlex Microsoft suivant :

Avertissement : cet article a été traduit automatiquement

Propriétés

ID d'article : 2739928 - Dernière mise à jour : 09/25/2012 09:10:00 - Révision : 1.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Business Intelligence, Microsoft SQL Server 2012 Web

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2739928 KbMtfr
Commentaires