Erreur (l’optimiseur de requête a généré trop de sous-cubes) et la requête MDX échoue dans les instance multidimensionnels SSAS

Cet article vous aide à résoudre le problème qui se produit lorsque vous exécutez une requête MDX (Multidimensional Expressions) sur un instance multidimensionnel Microsoft SQL Server Analysis Services (SSAS).

S’applique à : SQL Server 2012 Analysis Services, SQL Server 2014 Analysis Services, SQL Server 2016 Analysis Services, SQL Server 2017 Analysis Services Windows, SQL Server 2019 Analysis Services Windows
Numéro de la base de connaissances d’origine : 4533057

Symptômes

Lorsque vous exécutez une requête MDX (Multidimensional Expressions) sur un instance multidimensionnel Microsoft SQL Server Analysis Services (SSAS), la requête MDX échoue et retourne le message d’erreur suivant :

L’optimiseur de requête a généré trop de sous-cubes dans le plan de requête

Cette erreur se produit si les conditions suivantes sont remplies :

  • Trop de membres calculés sont définis sur un seul attribut ou niveau hiérarchique.
  • De nombreux champs ou membres d’attribut sont placés sur chaque axe. Ou bien, de nombreux champs sont regroupés sur les lignes ou les colonnes d’un tableau croisé dynamique dans Microsoft Excel.
  • Tous les membres des hiérarchies sélectionnées sont inclus dans l’axe.
  • Les totaux généraux et les sous-totaux sont activés dans le tableau croisé dynamique Excel.

Cause

Le moteur de formule SSAS (FE) doit générer tous les jeux MDX pertinents pour le sous-cube de requête du moteur de stockage (SE) ou le sous-cube Sonar. Il existe une limite au nombre de sous-cubes de requête SE par requête qui peuvent être générés. Ce comportement est voulu par la conception même du produit. Actuellement dans le plan de requête, une erreur se produit si le fe génère trop de sous-cubes de requête pour la requête.

Résolution

Pour éviter cette erreur, suivez les recommandations suivantes :

  • Dans le tableau croisé dynamique Excel, désactivez les totaux généraux et les sous-totaux.
  • Supprimez la hiérarchie de l’axe Lignes ou Colonnes du tableau croisé dynamique dans l’interface utilisateur Excel.
  • Ne définissez pas trop de membres calculés (par exemple, plus de 500) sur la hiérarchie de dimension. Au lieu de cela, avoir des membres réguliers dans la hiérarchie de dimension et utiliser des expressions d’affectation d’étendue MDX (également appelées cellules calculées) pour remplacer les expressions de ces membres calculés.