Fusionner des partitions dans Analysis Services (SSAS - Multidimensionnel)Merge Partitions in Analysis Services (SSAS - Multidimensional)

Vous pouvez fusionner des partitions dans une base de données Analysis ServicesAnalysis Services existante pour consolider les données de faits de plusieurs partitions du même groupe de mesures.You can merge partitions in an existing Analysis ServicesAnalysis Services database to consolidate fact data from multiple partitions of the same measure group.

Scénarios courantsCommon scenarios

SpécificationsRequirements

Mettre à jour la source de partition après avoir fusionné les partitionsUpdate the Partition Source after merging partitions

Considérations spéciales pour les partitions segmentées par une table de faits ou une requête nomméeSpecial considerations for partitions segmented by fact table or named query

Procédure pour fusionner des partitions à l'aide de SSMSHow to merge partitions using SSMS

Procédure pour fusionner des partitions à l'aide de XMLAHow to merge partitions using XMLA

Scénarios courantsCommon scenarios

La configuration individuelle la plus commune pour l'utilisation de partitions repose sur une séparation des données à travers la dimension du temps.The single most common configuration for partition use involves the separation of data across the dimension of time. La granularité du temps associé à chaque partition varie selon les besoins de l'entreprise spécifiques au projet.The granularity of time associated with each partition varies depending on the business requirements specific to the project. Par exemple, la segmentation peut se faire par années, avec l'année la plus récente divisée en mois, plus une partition distincte pour le mois actif.For example, segmentation might be by years, with the most recent year divided by months, plus a separate partition for the active month. La partition du mois actif accepte régulièrement de nouvelles données.The active month partition regularly takes on new data.

Lorsque le mois actif est terminé, cette partition est fusionnée dans les mois de la partition de l'année en cours et le processus continue.When the active month is completed, that partition is merged back into the months in the year-to-date partition and the process continues. À la fin de l'année, une nouvelle partition annuelle toute entière a été formée.At the end of the year, a whole new year partition has been formed.

Comme le montre ce scénario, fusionner des partitions peut devenir une tâche courante effectuée régulièrement et constituer une approche progressive pour consolider et organiser les données d'historique.As this scenario demonstrates, merging partitions can become a routine task performed on a regular basis, providing a progressive approach for consolidating and organizing historical data.

SpécificationsRequirements

Les partitions peuvent être fusionnées seulement si elles répondent à tous les critères suivants :Partitions can be merged only if they meet all of the following criteria:

  • Elles ont le même groupe de mesures.They have the same measure group.

  • Elles ont la même structure.They have the same structure.

  • Elles doivent se trouver à l'état traité.They must be in a processed state.

  • Elles ont les mêmes modes de stockage.They have the same storage modes.

  • Elles contiennent des conceptions d'agrégation identiques.They contain identical aggregation designs.

  • Elles partagent le même niveau de compatibilité du magasin de chaînes (s'applique uniquement aux groupes de mesure de comptage de valeurs partitionnés).They share the same string store compatibility level (applies to partitioned distinct count measure groups only).

Si la partition cible est vide (autrement dit, elle possède une conception d'agrégation, mais aucune agrégation), la fusion supprime les agrégations des partitions sources.If the target partition is empty (that is, it has an aggregation design but no aggregations), merge will drop the aggregations for the source partitions. Vous devez exécuter un traitement d'index, un traitement complet ou un traitement par défaut de la partition pour générer les agrégations.You must run Process Index, Process Full, or Process Default on the partition to build the aggregations.

Les partitions distantes peuvent être fusionnées uniquement avec d’autres partitions distantes qui sont définies avec la même instance distante de Analysis ServicesAnalysis Services.Remote partitions can be merged only with other remote partitions that are defined with the same remote instance of Analysis ServicesAnalysis Services.

Notes

Si vous utilisez une combinaison de partitions locales et distantes, une autre méthode consiste à créer des partitions qui contiennent les données combinées, en supprimant les partitions que vous n'utilisez plus.If you are using a combination of local and remote partitions, an alternative approach is to create new partitions that include the combined data, deleting the partitions you no longer use.

Pour créer une partition destinée à être fusionnée ultérieurement, vous pouvez copier la conception d'agrégation d'une autre partition du cube lors de la création de la partition dans l'Assistant Partition.To create a partition that is a candidate for future merging, when you create the partition in the Partition Wizard, you can choose to copy the aggregation design from another of the cube's partitions. Cette méthode garantit une même conception d'agrégation aux partitions.This ensures that these partitions have the same aggregation design. Au moment de leur fusion, les agrégations de la partition source sont associées à celles de la partition de destination.When they are merged, the aggregations of the source partition are combined with the aggregations in the target partition.

Mettre à jour la source de partition après avoir fusionné les partitionsUpdate the Partition Source after merging partitions

Les partitions sont segmentées par requête, comme la clause WHERE d'une requête SQL utilisée pour traiter les données, ou par une table ou une requête nommée qui fournit des données à la partition.Partitions are segmented by query, such as the WHERE clause of a SQL query used to process the data, or by a table or named query that provides data to the partition. La propriété Source sur la partition indique si la partition est liée à une requête ou une table.The Source property on the partition indicates whether the partition is bound to a query or a table.

Lorsque vous fusionnez des partitions, le contenu des partitions est consolidé, mais la propriété Source n'est pas mise à jour pour refléter l'étendue supplémentaire de la partition.When you merge partitions, the contents of the partitions are consolidated, but the Source property is not updated to reflect the additional scope of the partition. Cela signifie que si, plus tard, vous traitez à nouveau une partition qui conserve sa Sourced'origine, vous obtiendrez des données incorrectes de cette partition.This means if you subsequently reprocess a partition that retains its original Source, you will get incorrect data from that partition. La partition agrégera à tort des données au niveau parent.The partition will erroneously aggregate data at the parent level. L’exemple suivant illustre ce comportement.The following example illustrates this behavior.

Le problèmeThe Problem

Supposons que vous disposiez d'un cube contenant des informations sur trois produits de boissons non alcoolisées.Suppose you have a cube containing information about three soft drink products. Il comporte trois partitions qui utilisent la même table de faits.It has three partitions that use the same fact table. Ces partitions sont segmentées par produit.These partitions are segmented by product. La partition 1, la partition 2 et la partition 3 contiennent des données sur [ColaFull], [ColaDecaf] et [ColaDiet], respectivement.Partition 1 contains data about [ColaFull], Partition 2 contains data about [ColaDecaf], and Partition 3 contains data about [ColaDiet]. Si la partition 3 est fusionnée dans la partition 2, les données de la partition obtenue (partition 2) sont correctes et les données du cube sont exactes.If Partition 3 is merged into Partition 2, the data in the resulting partition (Partition 2) is correct and the cube data is accurate. Cependant, lors du traitement de la partition 2, son contenu peut être déterminé par le parent des membres au niveau du produit.However, when Partition 2 is processed, its content may be determined by the parent of the members at the product level. Ce parent, [SoftDrinks], comprend également [ColaFull], le produit de la partition 1.This parent, [SoftDrinks], also includes [ColaFull], the product in Partition 1. Le traitement de la partition 2 charge la partition contenant les données relatives à toutes les boissons non alcoolisées, y compris [ColaFull].Processing Partition 2 loads the partition with data for all soft drinks, including [ColaFull]. Le cube contient alors des données en double pour [ColaFull] et renvoie des données incorrectes aux utilisateurs.The cube then contains duplicate data for [ColaFull] and returns incorrect data to end users.

La solutionThe Solution

La solution consiste à mettre à jour la propriété Source, en ajustant la clause WHERE ou la requête nommée, ou en fusionnant manuellement les données des tables de faits sous-jacentes, afin que le traitement suivant soit précis, compte tenu de l'étendue supplémentaire de la partition.The solution is to update the Source property, adjusting either the WHERE clause or named query, or manually merging data from the underlying fact tables, to ensure that subsequent processing is accurate given the expanded scope of the partition.

Dans cet exemple, après la fusion de la partition 3 dans la partition 2, vous pouvez créer un filtre, tel que ("Product" = 'ColaDecaf' OR "Product" = 'ColaDiet') dans la partition obtenue (partition2) pour spécifier que seules les données relatives à [ColaDecaf] et [ColaDiet] doivent être extraites de la table de faits, et que les données de [ColaFull] doivent être exclues.In this example, after merging Partition 3 into Partition 2, you can provide a filter such as ("Product" = 'ColaDecaf' OR "Product" = 'ColaDiet') in the resulting Partition 2 to specify that only data about [ColaDecaf] and [ColaDiet] be extracted from the fact table, and the data pertaining to [ColaFull] be excluded. Vous pouvez également spécifier des filtres pour la partition2 et la partition 3 au moment de la création de ces partitions. Ces filtres seront associés pendant la fusion.Alternatively, you can specify filters for Partition 2 and Partition 3 when they are created, and these filters will be combined during the merger process. Dans les deux cas, après le traitement de la partition, le cube ne contiendra pas de données en double.In either case, after the partition is processed the cube does not contain duplicate data.

La conclusionThe Conclusion

Après avoir fusionné des partitions, vérifiez toujours la Source pour vous assurer que le filtre est approprié pour les données fusionnées.After you merge partitions, always check the Source to verify the filter is correct for the merged data. Si vous avez commencé par une partition qui incluait des données historiques pour Q1, Q2 et Q3 et que vous fusionnez maintenant Q4, vous devez ajuster le filtre de manière à inclure Q4.If you started with a partition that included historical data for Q1, Q2, and Q3, and you now merge Q4, you must adjust the filter to include Q4. Sinon, le traitement ultérieur de la partition générera des résultats erronés.Otherwise, subsequent processing of the partition will yield erroneous results. Il ne sera pas correct pour Q4.It will not be correct for Q4.

Considérations spéciales pour les partitions segmentées par une table de faits ou une requête nomméeSpecial considerations for partitions segmented by fact table or named query

Outre les requêtes, les partitions peuvent également être segmentées par une table ou une requête nommée.In addition to queries, partitions can also be segmented by table or named query. Si la partition source et la partition cible utilisent la même table de faits dans une source de données ou une vue de source de données, la propriété Source est valide après la fusion des partitions.If the source partition and target partition use the same fact table in a data source or data source view, the Source property is valid after merging partitions. Elle spécifie les données de la table de faits qui sont appropriées à la partition résultante.It specifies the fact table data that is appropriate to the resulting partition. Étant donné que les faits nécessaires à la partition résultante existent dans la table de faits, aucune modification de la propriété Source n'est requise.Because the facts that are required for the resulting partition are present in the fact table, no modification to the Source property is necessary.

Les partitions utilisant des données provenant de plusieurs tables de faits ou requêtes nommées requièrent un travail supplémentaire.Partitions using data from multiple fact tables or named queries require additional work. Vous devez fusionner manuellement les faits de la table de faits de la partition source dans la table de faits de la partition de destination.You must manually merge the facts from the fact table of the source partition into the fact table of the target partition.

Vous pouvez également remplacer la source pour la partition fusionnée par une requête nommée qui retourne le contenu de deux tables de faits distinctes.Alternatively, you can change the source for the merged partition to a named query that returns the contents of two separate fact tables. Si vous n'effectuez pas cette opération manuelle, les informations contenues dans la table de faits ne seront pas complètes.If this manual step is not performed, the fact table does not contain complete information.

Pour la même raison, les partitions obtenant des données segmentées de requêtes nommées requièrent également une mise à jour.For the same reason, partitions obtaining segmented data from named queries also require updating. La partition associée doit maintenant avoir une requête nommée qui retourne le jeu de résultats combiné qui a été obtenu précédemment à partir des requêtes nommées distinctes.The combined partition must now have a named query that returns the combined result set that was previously obtained from the separate named queries.

Considérations de stockage de partition : MOLAPPartition storage considerations: MOLAP

Lors de la fusion de partitions MOLAP, les faits stockés dans les structures multidimensionnelles des partitions sont également fusionnés.When MOLAP partitions are merged, the facts stored in the multidimensional structures of the partitions are also merged. Ceci produit une partition complète et cohérente en interne.This results in an internally complete and consistent partition. Cependant, les faits stockés dans les partitions MOLAP sont des copies des faits de la table de faits.However, the facts stored in MOLAP partitions are copies of facts in the fact table. Lorsque la partition est traitée ultérieurement, les faits de la structure multidimensionnelle sont supprimés (seulement pour un traitement complet et d'actualisation) et les données sont copiées à partir de la table de faits, comme indiqué par la source de données et le filtre de la partition.When the partition is subsequently processed, the facts in the multidimensional structure are deleted (only for full and refresh) and data is copied from the fact table as specified by the data source and filter for the partition. Si la partition source utilise une table de faits différente de celle de la partition de destination, vous devez fusionner manuellement ces deux tables de faits pour vous assurer qu'un ensemble de données complet sera disponible au moment du traitement de la partition résultante.If the source partition uses a different fact table from the target partition, the fact table of the source partition must be manually merged with the fact table of the target partition to ensure that a complete set of data is available when the resulting partition is processed. Cela s'applique également si les deux partitions se basent sur des requêtes nommées différentes.This applies as well if the two partitions were based on different named queries.

Important

Une partition MOLAP (OLAP multidimensionnel) fusionnée avec une table de faits incomplète contient une copie fusionnée en interne des données de la table de faits et fonctionne correctement jusqu'à son traitement.A merged MOLAP partition with an incomplete fact table contains an internally merged copy of fact table data and operates correctly until it is processed.

Considérations de stockage de partition : Partitions HOLAP et ROLAPPartition storage considerations: HOLAP and ROLAP Partitions

Lorsque des partitions HOLAP ou ROLAP ayant des tables de faits différentes sont fusionnées, ces tables de faits ne sont pas automatiquement fusionnées.When HOLAP or ROLAP partitions that have different fact tables are merged, the fact tables are not automatically merged. À moins qu'elles ne soient fusionnées manuellement, seule la table de faits associée à la partition de destination est disponible pour la partition fusionnée.Unless the fact tables are manually merged, only the fact table associated with the target partition is available to the resulting partition. Les faits associés à la partition source ne permettent pas de développer le niveau inférieur d'une partition résultante, et au moment du traitement de la partition, les agrégations ne synthétiseront pas les données de la table non disponible.Facts associated with the source partition are not available for drilldown in the resulting partition, and when the partition is processed, aggregations do not summarize data from the unavailable table.

Important

Une partition HOLAP ou ROLAP fusionnée avec une table de faits incomplète contient des agrégations exactes mais des faits incomplets.A merged HOLAP or ROLAP partition with an incomplete fact table contains accurate aggregations, but incomplete facts. Les requêtes qui font référence à des faits manquants renvoient des données incorrectes.Queries that refer to missing facts return incorrect data. Au moment du traitement de la partition, les agrégations sont uniquement calculées à partir des faits disponibles.When the partition is processed, aggregations are computed only from available facts.

L'absence des faits non disponibles ne se remarque pas nécessairement, à moins qu'un utilisateur ne tente de développer le niveau inférieur d'un fait d'une table non disponible ou n'exécute une requête qui nécessite un fait d'une table non disponible.The absence of unavailable facts might not be noticed unless a user attempts to drill down to a fact in the unavailable table or executes a query that requires a fact from the unavailable table. Étant donné que les agrégations sont associées pendant le processus de fusion, les requêtes dont les résultats sont uniquement fondés sur les agrégations renvoient des données exactes, tandis que les autres peuvent renvoyer des données erronées.Because aggregations are combined during the merge process, queries whose results are based only on aggregations return accurate data, whereas other queries may return inaccurate data. Même après le traitement de la partition résultante, les données manquantes d'une table de faits non disponible peuvent ne pas être remarquées, surtout si elles ne représentent qu'une faible partie des données combinées.Even after the resulting partition is processed, the missing data from the unavailable fact table may not be noticed, especially if it represents only a small portion of the combined data.

Les tables de faits peuvent être fusionnées avant ou après les partitions.Fact tables can be merged before or after merging the partitions. Cependant, les agrégations ne représenteront pas avec exactitude les faits sous-jacents tant que les deux opérations ne seront pas terminées.However, the aggregations will not accurately represent the underlying facts until both operations have been completed. Il est recommandé de procéder à la fusion des partitions HOLAP ou ROLAP qui ont accès à différentes tables de faits lorsque les utilisateurs ne sont pas connectés au cube qui contient ces partitions.It is recommended that you merge HOLAP or ROLAP partitions that access different fact tables when users are not connected to the cube that contains these partitions.

Procédure pour fusionner des partitions à l'aide de SSMSHow to merge partitions using SSMS

Important

Avant de fusionner des partitions, commencez par copier les informations de filtrage de données (souvent, la clause WHERE pour les filtres basés sur des requêtes SQL).Before merging partitions, first copy the data filter information (often, the WHERE clause for filters based on SQL queries). Plus tard, une fois la fusion terminée, vous devrez mettre à jour la propriété Source de la partition contenant les données de faits cumulées.Later, after the merge is completed, you should update the Partition Source property of the partition containing the accumulated fact data.

  1. Dans l’Explorateur d’objets, développez le nœud Groupes de mesures du cube contenant les partitions à fusionner, développez Partitions, cliquez avec le bouton droit sur la partition correspondant à la cible ou à la destination de la fusion.In Object Explorer, expand the Measure Groups node of the cube containing the partitions that you want to merge, expand Partitions, right-click the partition that is the target or destination of the merge operation. Par exemple, si vous déplacez des données de faits trimestrielles vers une partition qui stocke des données de faits annuelles, sélectionnez la partition qui contient les données de faits annuelles.For example, if you are moving quarterly fact data to a partition that stores annual fact data, select the partition that contains the annual fact data.

  2. Cliquez sur fusionner des Partitions pour ouvrir le Partition de fusion <nom_partition > boîte de dialogue.Click Merge Partitions to open the Merge Partition <partition name> dialog box.

  3. Sous Partitions sources, cochez la case à côté de chaque partition source que vous voulez fusionner avec la partition cible, puis cliquez sur OK.Under Source Partitions, select the check box next to each source partition that you want to merge with the target partition, and click OK.

    Notes

    Les partitions sources sont immédiatement supprimées une fois la source fusionnée dans la partition cible.Source partitions are immediately deleted after the source is merged into the target partition. Actualisez le dossier Partitions pour mettre à jour son contenu une fois la fusion terminée.Refresh the Partitions folder to update its contents after the merge is completed.

  4. Cliquez avec le bouton droit sur la partition contenant les données cumulées et sélectionnez Propriétés.Right-click the partition containing the accumulated data and select Properties.

  5. Ouvrez le Source propriété et modifiez la clause WHERE afin qu’il inclue les données de partition que vous venez de fusionner.Open the Source property and modify the WHERE clause so that it includes the partition data you just merged. N’oubliez pas que le Source propriété n’est pas mis à jour automatiquement.Recall that the Source property is not updated automatically. Si vous Retraitez sans d’abord mettre à jour le Source, vous ne pouvez pas obtenir toutes les données attendues.If you reprocess without first updating the Source, you might not get all of the expected data.

Procédure pour fusionner des partitions à l'aide de XMLAHow to merge partitions using XMLA

Pour plus d’informations, consultez Fusion de partitions (XMLA).See this topic for information, Merging Partitions (XMLA).

Voir aussiSee Also

Traitement des objets Analysis Services Processing Analysis Services Objects
Partitions (Analysis Services - Données multidimensionnelles) Partitions (Analysis Services - Multidimensional Data)
Créer et gérer une partition locale (Analysis Services) Create and Manage a Local Partition (Analysis Services)
Créer et gérer une partition distante (Analysis Services) Create and Manage a Remote Partition (Analysis Services)
Définir l'écriture différée de partition Set Partition Writeback
Partitions activées en écriture Write-Enabled Partitions
Configurer le stockage de chaînes pour des dimensions et des partitionsConfigure String Storage for Dimensions and Partitions