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 d'une même structure de stockage pour les partitions facilite la définition de partitions, qui peuvent par la suite être fusionnées à 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 de 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 la façon dont est contrôlé le processus de conception basé sur cette référence. Par le biais de la commande DesignAggregations et de ses propriétés, vous pouvez concevoir des agrégations de manière itérative ou par lot, puis consulter les statistiques de conception obtenues 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 de la commande DesignAggregations décrites ci-dessous 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 effectuer avant de restituer le contrôle à l'application cliente.

  • La propriété Time détermine le temps en millisecondes nécessaire à la commande DesignAggregations pour restituer le contrôle à l'application cliente.

  • La propriété Optimization détermine l'estimation du pourcentage d'amélioration des performances que la commande DesignAggregations doit essayer d'atteindre. 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é Storage détermine la quantité d'espace de stockage sur disque estimée, en octets, qu'utilise 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 Query dans la propriété Queries. La propriété Queries peut contenir un ou plusieurs éléments Query. Si la propriété Queries ne contient pas d'éléments Query, 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 vise à répondre aux critères spécifiés dans les propriétés Optimization et Storage 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 ciblent les requêtes les plus fréquemment utilisées. Vous pouvez soit spécifier vos propres requêtes d'objectif, soit utiliser les informations stockées par une instance de Microsoft SQL Server Analysis Services dans le journal des requêtes pour récupérer des informations à propos des requêtes les plus fréquemment utilisées. L'Assistant Optimisation de l'utilisation utilise le journal des requêtes pour récupérer les requêtes d'objectif en fonction du temps, de l'utilisation ou d'un utilisateur spécifié lors de l'envoi d'une commande DesignAggregations. Pour plus d'informations, consultez Aide F1 sur l'Assistant Optimisation de l'utilisation.

Si vous créez des agrégations de manière itérative, vous ne devez passer les requêtes d'objectif que dans la première commande DesignAggregations, car l'instance Analysis Services stocke ces requêtes d'objectif et les utilise dans le cadre 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...]

  • Frequency
    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ément Query (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 de traitement itératif ou par lots, selon le degré d'interactivité exigé par le processus de conception.

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

Pour concevoir des agrégations de manière itérative, vous devez envoyer plusieurs commandes DesignAggregations de façon à 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 Aide (F1) de l'Assistant Conception d'agrégation.

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 lancer le processus de traitement itératif, vous devez commencer par envoyer une commande DesignAggregations contenant les informations suivantes :

  • les valeurs des propriétés Storage et Optimization sur lesquelles porte l'ensemble du processus de conception ;

  • les valeurs des propriétés Steps et Time sur lesquelles se limite la première étape du processus de conception ;

  • si vous souhaitez recourir à l'optimisation basée sur l'utilisation, la propriété Queries qui contient les requêtes d'objectif sur lesquelles porte l'ensemble du processus de conception ;

  • la propriété Materialize définie à 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.

Lorsque la première commande DesignAggregations aboutit, elle 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 devez envoyer une autre commande DesignAggregations qui contient les valeurs Steps et Time auxquelles se limite cette étape du processus de conception. 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 d'évaluation des résultats se poursuit tant que vous n'avez pas atteint vos objectifs et que vous n'avez pas défini un ensemble d'agrégations approprié.

Une fois que vous être satisfait de l'ensemble d'agrégations, vous devez envoyer une dernière commande DesignAggregations. La propriété Steps de cette commande finale DesignAggregations doit avoir la valeur 1, tandis que sa propriété Materialize doit être définie à true. En utilisant ces paramètres, cette dernière commande DesignAggregations met fin au 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 de traitement par lots en envoyant une commande DesignAggregations unique qui contient les valeurs des propriétés Steps, Time, Storage et Optimization sur lesquelles porte et se limite l'ensemble du processus de conception. Si vous souhaitez recourir à l'optimisation basée sur l'utilisation, les requêtes d'objectif sur lesquelles porte le processus de conception doivent également être incluses dans la propriété Queries. De même, veillez à ce que la propriété Materialize soit définie à true pour que le processus de conception enregistre les agrégations définies dans la conception d'agrégation dès que la commande aboutit.

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

Au moment où la commande DesignAggregations restitue le contrôle à l'application cliente, elle retourne un ensemble de lignes tenant sur une seule ligne qui représente les statistiques de conception pour la commande. Cet ensemble de lignes se compose des colonnes répertoriées dans le tableau suivant.

Colonne

Type de données

Description

Steps

Entier

Nombre d'étapes parcourues par la commande avant de restituer le contrôle à l'application cliente.

Time

Entier long

Temps en millisecondes nécessaire à la commande pour restituer le contrôle à l'application cliente.

Optimization

Double

Estimation du pourcentage d'amélioration des performances atteint par la commande avant de restituer le contrôle à l'application cliente.

Storage

Entier long

Estimation du nombre d'octets nécessaires à la commande pour restituer le contrôle à l'application cliente.

Aggregations

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é Materialize de la commande a été définie à true, la valeur de cette colonne est définie à true.

Vous pouvez utiliser les statistiques de conception contenues dans l'ensemble de lignes après chaque commande DesignAggregations, que ce soit dans le cadre d'une conception itérative ou dans celui d'une conception 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.