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

Cet article vous aide à résoudre le problème qui se produit lorsque vous exécutez une requête MDX (Multidimensional Expressions) sur une instance multidimensionnelle 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 ko d’origine :   4533057

Symptômes

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

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

Cette erreur se produit si les conditions suivantes sont vraies :

  • Trop de membres calculés sont définis sur un seul niveau hiérarchique ou attribut.
  • De nombreux champs ou membres d’attribut sont placés sur chaque axe. De nombreux champs sont également rassemblé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 et sous-totaux sont allumés dans le tableau croisé dynamique Excel.

Cause

Le moteur de formule SSAS (FE) doit générer tous les ensembles 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 se Query 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 la 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ésactiver les totaux 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, vous devez avoir des membres réguliers dans la hiérarchie de dimension et utiliser des expressions d’attribution d’étendue MDX (également appelées cellules calculées) pour remplacer les expressions de ces membres calculés.