Partager via


Conception d'agrégations (XMLA)

Les conceptions d'agrégation sont associées aux partitions d'un groupe de mesures particulier pour s'assurer que les partitions utilisent la même structure lors du stockage d'agrégations. L’utilisation de la même structure de stockage pour les partitions vous permet de définir facilement des partitions qui peuvent être fusionnées ultérieurement à l’aide de la commande MergePartitions . Pour plus d’informations sur les conceptions d’agrégation, consultez Agrégations et conceptions d’agrégation.

Pour définir des agrégations pour une conception d’agrégation, vous pouvez utiliser la commande DesignAggregations dans XML for Analysis (XMLA). La commande DesignAggregations possède des propriétés qui identifient la conception d’agrégation à utiliser comme référence et comment contrôler le processus de conception en fonction de cette référence. À l’aide de la commande DesignAggregations et de ses propriétés, vous pouvez concevoir des agrégations itératives ou en lots, puis afficher les statistiques de conception résultantes pour évaluer le processus de conception.

Définition d'une conception d'agrégation

La propriété Object de la commande DesignAggregations doit contenir une référence d’objet à une conception d’agrégation existante. La référence d'objet contient un identificateur de base de données, un identificateur de cube, un identificateur de groupe de mesures et un identificateur de conception d'agrégation. Si la conception d'agrégation n'existe pas déjà, une erreur se produit.

Contrôle du processus de conception

Vous pouvez utiliser les propriétés suivantes de la commande DesignAggregations pour contrôler l’algorithme utilisé pour définir des agrégations pour la conception d’agrégation :

  • La propriété Steps détermine le nombre d’itérations que la commande DesignAggregations doit prendre avant de retourner le contrôle à l’application cliente.

  • La propriété Time détermine le nombre de millisecondes que la commande DesignAggregations doit prendre avant de retourner le contrôle à l’application cliente.

  • La propriété Optimisation détermine le pourcentage estimé d’amélioration des performances que la commande DesignAggregations doit essayer d’obtenir. Si vous concevez des agrégations de manière itérative, vous n'avez besoin d'envoyer cette propriété que dans la première commande.

  • La propriété Stockage détermine la quantité estimée de stockage disque, en octets, utilisée par la commande DesignAggregations . Si vous concevez des agrégations de manière itérative, vous n'avez besoin d'envoyer cette propriété que dans la première commande.

  • La propriété Materialize détermine si la commande DesignAggregations doit créer les agrégations définies pendant le processus de conception. Si vous concevez des agrégations de manière itérative, cette propriété doit être définie à false tant que vous n'êtes pas prêt à enregistrer les agrégations conçues. Lorsqu'elle est définie à true, le processus de conception en cours prend fin et les agrégations définies sont ajoutées à la conception d'agrégation spécifiée.

Définition de la propriété Queries

La commande DesignAggregations prend en charge la commande d’optimisation basée sur l’utilisation en incluant un ou plusieurs éléments de requête dans la propriété Query . La propriété Query peut contenir un ou plusieurs éléments de requête . Si la propriété Query ne contient aucun élément de requête , la conception d’agrégation spécifiée dans l’élément Object utilise une structure par défaut qui contient un ensemble général d’agrégations. Cet ensemble général d’agrégations est conçu pour répondre aux critères spécifiés dans les propriétés d’optimisation et de stockage de la commande DesignAggregations .

Chaque élément Query représente une requête d'objectif que le processus de conception utilise pour définir des agrégations qui visent les requêtes utilisées le plus fréquemment. Vous pouvez spécifier vos propres requêtes d’objectif ou utiliser les informations stockées par une instance de Microsoft SQL Server SQL Server Analysis Services dans le journal des requêtes pour récupérer des informations sur les requêtes les plus fréquemment utilisées. L’Assistant Optimisation Usage-Based utilise le journal des requêtes pour récupérer des requêtes d’objectif en fonction du temps, de l’utilisation ou d’un utilisateur spécifié lorsqu’il envoie une commande DesignAggregations . Pour plus d’informations, consultez l’Assistant Optimisation basée sur l’utilisation F1.

Si vous concevez des agrégations itérativement, vous devez uniquement passer des requêtes d’objectif dans la première commande DesignAggregations, car l’instance SQL Server Analysis Services stocke ces requêtes d’objectif et utilise ces requêtes lors des commandes DesignAggregations suivantes. Une fois les requêtes d'objectif passées dans la première commande DesignAggregations d'un procédé itératif, toute commande DesignAggregations suivante qui contient des requêtes d'objectif dans la propriété Queries génère une erreur.

L'élément Query contient une valeur délimitée par des virgules qui renferme les arguments suivants :

Frequency,Dataset[,Dataset...]

Fréquence
Un facteur de pondération qui correspond au nombre de fois que la requête a été exécutée antérieurement. Si l'élément Query représente une nouvelle requête, la valeur Frequency représente le facteur de pondération utilisé par le processus de conception pour évaluer la requête. À mesure que la valeur de la fréquence s'accroît, le poids associé à la requête pendant le processus de conception augmente.

Dataset
Une chaîne numérique qui spécifie quels attributs d'une dimension doivent être inclus dans la requête. Cette chaîne doit comporter autant de caractères que la dimension compte d'attributs. Zéro (0) indique que l'attribut à la position ordinale spécifiée n'est pas inclus dans la requête pour la dimension spécifiée, alors qu'un (1) indique que l'attribut à la position ordinale spécifiée est inclus dans la requête pour la dimension spécifiée.

Par exemple, la chaîne « 011 » se rapporte à une requête concernant une dimension à trois attributs, dont le deuxième et le troisième sont inclus dans la requête.

Notes

Certains attributs, qualifiés d'exclus, ne sont pas pris en compte dans le dataset. Pour plus d’informations sur les attributs exclus, consultez l’élément de requête (XMLA).

Chaque dimension dans le groupe de mesures qui contient la conception d'agrégation est représentée par une valeur Dataset dans l'élément Query . L'ordre des valeurs Dataset doit correspondre à celui des dimensions incluses dans le groupe de mesures.

Conception d'agrégations au moyen d'un processus de traitement itératif ou par lots

Vous pouvez utiliser la commande DesignAggregations dans le cadre d’un processus itératif ou d’un processus par lots, en fonction de l’interactivité requise par le processus de conception.

Conception d'agrégations au moyen d'un processus de traitement itératif

Pour concevoir des agrégations itératives, vous envoyez plusieurs commandes DesignAggregations pour fournir un contrôle précis sur le processus de conception. L'Assistant Conception d'agrégation utilise cette même approche pour fournir un contrôle précis sur le processus de conception. Pour plus d’informations, consultez l’Aide de l’Assistant Création d’agrégation F1.

Notes

Une session explicite est nécessaire pour concevoir des agrégations de manière itérative. Pour plus d’informations sur les sessions explicites, consultez Gestion des connexions et des sessions (XMLA).

Pour démarrer le processus itératif, vous envoyez d’abord une commande DesignAggregations qui contient les informations suivantes :

  • Valeurs de propriété Stockage et Optimisation sur lesquelles le processus de conception entier est ciblé.

  • Valeurs de propriété Steps et Time sur lesquelles la première étape du processus de conception est limitée.

  • Si vous souhaitez une optimisation basée sur l’utilisation, la propriété Requêtes qui contient les requêtes d’objectif sur lesquelles le processus de conception entier est ciblé.

  • Propriété Materialize définie sur false. La définition de cette propriété à false indique que le processus de conception n'enregistre pas les agrégations définies dans la conception d'agrégation lorsque la commande aboutit.

Une fois la première commande DesignAggregations terminée, la commande retourne un ensemble de lignes qui contient des statistiques de conception. Vous pouvez évaluer ces statistiques pour déterminer si le processus de conception doit continuer ou s'il est terminé. Si le processus doit continuer, vous envoyez ensuite une autre commande DesignAggregations qui contient les valeurs Étapes et Heure avec lesquelles cette étape du processus de conception est limitée. Vous évaluez ensuite les statistiques obtenues et vous déterminez si le processus de conception doit continuer. Ce processus itératif d’envoi de commandes DesignAggregations et l’évaluation des résultats continue jusqu’à atteindre vos objectifs et avoir un ensemble approprié d’agrégations définies.

Une fois que vous avez atteint l’ensemble des agrégations souhaitées, vous envoyez une commande DesignAggregations finale. Cette commande DesignAggregations finale doit avoir sa propriété Steps définie sur 1 et sa propriété Materialize définie sur true. À l’aide de ces paramètres, cette commande DesignAggregations finale termine le processus de conception et enregistre l’agrégation définie dans la conception d’agrégation.

Conception d'agrégations au moyen d'un processus de traitement par lots

Vous pouvez également concevoir des agrégations dans un processus par lots en envoyant une seule commande DesignAggregations qui contient les valeurs des propriétés Étapes, Temps, Stockage et Optimisation sur lesquelles le processus de conception entier est ciblé et limité. Si vous souhaitez une optimisation basée sur l’utilisation, les requêtes d’objectif sur lesquelles le processus de conception est ciblé doivent également être incluses dans la propriété Requêtes . Assurez-vous également que la propriété Materialize a la valeur true, afin que le processus de conception enregistre les agrégations définies dans la conception d’agrégation lorsque la commande se termine.

Vous pouvez concevoir des agrégations en utilisant un processus de traitement par lots dans le cadre d'une session implicite ou explicite. Pour plus d’informations sur les sessions implicites et explicites, consultez Gestion des connexions et des sessions (XMLA).

Retour des statistiques de conception

Lorsque la commande DesignAggregations retourne le contrôle à l’application cliente, la commande retourne un ensemble de lignes qui contient une seule ligne représentant les statistiques de conception de la commande. Cet ensemble de lignes se compose des colonnes répertoriées dans le tableau suivant.

Colonne Type de données Description
Étapes Integer Nombre d'étapes parcourues par la commande avant de restituer le contrôle à l'application cliente.
Temps Entier long Temps en millisecondes nécessaire à la commande pour restituer le contrôle à l'application cliente.
Optimisation Double Estimation du pourcentage d'amélioration des performances atteint par la commande avant de restituer le contrôle à l'application cliente.
Stockage Entier long Estimation du nombre d'octets nécessaires à la commande pour restituer le contrôle à l'application cliente.
Agrégations Entier long Nombre d'agrégations définies par la commande avant de restituer le contrôle à l'application cliente.
LastStep Booléen Indique si les données contenues dans l'ensemble de lignes correspondent à la dernière étape du processus de conception. Si la propriété Matérialisize de la commande a été définie sur true, la valeur de cette colonne est définie sur true.

Vous pouvez utiliser les statistiques de conception contenues dans l’ensemble de lignes retourné après chaque commande DesignAggregations dans la conception itérative et par lots. Dans le cadre d'une conception itérative, vous pouvez utiliser les statistiques de conception pour déterminer et afficher l'état d'avancement. Lorsque vous concevez des agrégations par lots, vous pouvez utiliser les statistiques de conception pour déterminer le nombre d'agrégations créés par la commande.

Voir aussi

Développement avec XMLA dans Analysis Services