Créer et gérer une partition locale (Analysis Services)Create and Manage a Local Partition (Analysis Services)

S’APPLIQUE À : ouiSQL Server Analysis Services nonAzure Analysis Services nonPower BI PremiumAPPLIES TO: yesSQL Server Analysis Services noAzure Analysis Services noPower BI Premium

Vous pouvez créer des partitions supplémentaires pour un groupe de mesures afin d'améliorer les performances de traitement.You can create additional partitions for a measure group to improve processing performance. Le fait de disposer de plusieurs partitions permet d'allouer des données de faits sur un nombre correspondant de fichiers de données physiques sur les serveurs locaux, ainsi que sur les serveurs distants.Having multiple partitions allows you to allocate fact data across a corresponding number of physical data files on local as well as remote servers. Dans Analysis Services, les partitions peuvent être traitées indépendamment et en parallèle, ce qui vous permet de contrôler davantage le traitement des charges de travail sur le serveur.In Analysis Services, partitions can be processed independently and in parallel, giving you more control over processing workloads on the server.

Les partitions peuvent être créées dans SQL Server Data ToolsSQL Server Data Tools pendant la conception de modèle, ou une fois que la solution est déployée à l’aide de SQL Server Management StudioSQL Server Management Studio ou de XMLA.Partitions can be created in SQL Server Data ToolsSQL Server Data Tools during model design, or after the solution is deployed using SQL Server Management StudioSQL Server Management Studio or XMLA. Nous vous recommandons de choisir une seule approche uniquement.We recommend that you choose one approach only. Si vous passez d'un outil à un autre, vous allez peut-être constater que les modifications apportées à une base de données déployée dans SQL Server Management StudioSQL Server Management Studio sont remplacées lorsque vous redéployez ultérieurement la solution depuis SQL Server Data ToolsSQL Server Data Tools.If you alternate between tools, you might find that changes made to a deployed database in SQL Server Management StudioSQL Server Management Studio are overwritten when you subsequently redeploy the solution from SQL Server Data ToolsSQL Server Data Tools.

Avant de commencerBefore you start

Vérifiez si vous disposez de la version Business Intelligence Edition ou Enterprise Edition.Check whether you have either the business intelligence edition or enterprise edition. L'édition Standard ne prend pas en charge plusieurs partitions.Standard edition does not support multiple partitions. Pour vérifier l’édition que vous utilisez, cliquez avec le bouton droit sur le nœud du serveur dans SQL Server Management StudioSQL Server Management Studio et choisissez Rapports | Général.To check the edition, right-click the server node in SQL Server Management StudioSQL Server Management Studio and choose Reports | General. Pour plus d’informations sur la disponibilité des fonctionnalités, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2016.For more information about feature availability, see Features Supported by the Editions of SQL Server 2016.

Dès le départ, il est important de comprendre que les partitions doivent partager la même conception d'agrégation si vous voulez les fusionner ultérieurement.From the outset, it's important to understand that partitions must share the same aggregation design if you want to merge them later. Les partitions peuvent être fusionnées uniquement si elles ont des modes de stockage et des conceptions d'agrégation identiques.Partitions can be merged only if they have identical aggregation designs and storage modes.

Conseil

Explorez les données dans la vue de source de données (DSV) afin de comprendre l'étendue et la profondeur des données que vous partitionnez.Explore the data in Data Source View (DSV) to understand the range and depth of the data you are partitioning. Par exemple, si le partitionnement s'effectue par date, vous pouvez procéder au tri sur une colonne de date afin de déterminer les limites supérieure et inférieure de chaque partition.For example, if partitioning by date, you can sort on a date column to determine the upper and lower bounds of each partition.

Choisir une approcheChoose an approach

Le point le plus important à prendre en compte lors de la création de partitions consiste à segmenter les données afin d'éviter les lignes dupliquées.The most important consideration when creating partitions is to segment the data so that there are no duplicate rows. Les données doivent être stockées dans une seule et unique partition, pour éviter le double comptage des lignes.Data must be stored in one, and only one, partition to avoid double counting any rows. Par conséquent, il est courant de partitionner par DATE afin que vous puissiez définir des limites claires entre chaque partition.As such, it's common to partition by DATE so that you can define clear boundaries between each partition.

Vous pouvez utiliser l'une ou l'autre technique pour distribuer les données de faits entre plusieurs partitions.You can use either technique to distribute the fact data across multiple partitions. Les techniques suivantes peuvent être utilisées pour segmenter les données.The following techniques can be used to segment the data.

TechniqueTechnique RecommandationsRecommendations
Utiliser des requêtes SQL pour segmenter les données de faitsUse SQL queries to segment fact data Les partitions peuvent provenir de requêtes SQL.Partitions can be sourced from SQL queries. Au cours du traitement, la requête SQL consiste à récupérer les données.During processing, the SQL query is to retrieve the data. La clause WHERE de la requête fournit le filtre qui segmente les données pour chaque partition.The query's WHERE clause provides the filter that segments the data for each partition. Analysis Services génère la requête à votre place, mais vous devez remplir la clause WHERE afin de segmenter correctement les données.Analysis Services generates the query for you, but you must fill in the WHERE clause to properly segment the data.

Le principal avantage de cette méthode réside dans la facilité avec laquelle vous pouvez partitionner des données depuis une seule table source.The primary advantage of this approach is the ease with which you can partition data from a single source table. Si toutes les données sources proviennent d'une table de faits volumineuse, vous pouvez générer des requêtes qui filtrent ces données dans des partitions discrètes, sans avoir à créer des structures de données supplémentaires dans la vue de source de données (DSV).If all of the source data originates from a large fact table, you can build queries that filter that data into discrete partitions, without having to create additional data structures in the Data Source View (DSV).

En revanche, l'utilisation de requêtes rompt la liaison entre la partition et la vue de source de données (DSV).One disadvantage is that using queries will break the binding between the partition and the DSV. Si, ultérieurement, vous effectuez une mise à jour de la vue DSV dans le projet Analysis Services, notamment en ajoutant des colonnes à la table de faits, vous devez modifier manuellement les requêtes pour chaque partition de manière à inclure la nouvelle colonne.If you later update the DSV in the Analysis Services project, such as adding columns to the fact table, you must manually edit the queries for each partition to include the new column. La deuxième méthode, présentée ci-dessous, ne présente pas cet inconvénient.The second approach, discussed next, does not have this disadvantage.
Utiliser des tables dans la vue DSV pour segmenter les données de faitsUse tables in the DSV to segment fact data Vous pouvez lier une partition à une table, une requête nommée ou une vue dans la vue DSV.You can bind a partition to a table, named query, or view in the DSV. Les trois méthodes sont fonctionnellement équivalentes en tant que base d'une partition.As the basis of a partition, all three are functionally equivalent. La table entière, la requête nommée ou la vue fournit l'ensemble des données à une partition unique.The entire table, named query, or view provides all of the data to a single partition.

L'utilisation d'une table, d'une vue ou d'une requête nommée place toute la logique de sélection des données dans la vue DSV, laquelle peut être gérée et entretenue plus facilement au fil du temps.Using a table, view, or named query places all of the data selection logic in the DSV, which can be easier to manage and maintain over time. L'un des avantages importants de cette approche est que les liaisons de table sont conservées.An important advantage to this approach is that table bindings are preserved. Si, ultérieurement, vous mettez à jour la table source, vous n'avez pas à modifier les partitions qui l'utilisent.If you update the source table later, you do not have to modify the partitions that use it. Deuxièmement, toutes les tables, les requêtes nommées et les vues se trouvent dans un espace de travail commun, ce qui rend les mises à jour plus pratiques et évite de devoir ouvrir et modifier des requêtes de partition individuellement.Secondly, all of the tables, named queries and views exist in a common work space, making updates more convenient than having to open and edit partition queries individually.

Option n°1 : Filtrer une Table de faits pour plusieurs PartitionsOption 1: Filter a Fact Table for Multiple Partitions

Pour créer plusieurs partitions, commencez par modifier la propriété Source de la partition par défaut.To create multiple partitions, you begin by modifying the Source property of the default partition. Par défaut, un groupe de mesures est créé avec une seule partition qui est liée à une table unique dans la vue DSV.By default, a measure group is created using a single partition that is bound to a single table in the DSV. Avant de pouvoir ajouter des partitions supplémentaires, vous devez modifier la partition d'origine de manière à ce qu'elle contienne uniquement une partie des données de faits.Before you can add more partitions, you must first modify the original partition to contain just a portion of the fact data. Vous pouvez continuer à créer des partitions supplémentaires pour stocker les autres données.You can then proceed to create additional partitions for storing the remainder of the data.

Construisez des filtres de sorte que les données ne soient pas dupliquée entre les partitions.Construct your filters such that data is not duplicated among the partitions. Le filtre d'une partition spécifie quelles données de la table de faits sont utilisées dans la partition.A partition's filter specifies which data in the fact table is used in the partition. Il est important que les filtres de toutes les partitions utilisées dans un cube extraient, à partir de la table de faits, des jeux de données qui s'excluent mutuellement.It is important that the filters for all partitions in a cube extract mutually exclusive datasets from the fact table. Les mêmes données de faits peuvent être comptées deux fois si elles apparaissent dans plusieurs partitions.The same fact data might be double-counted if it appears in multiple partitions.

  1. Dans SQL Server Data ToolsSQL Server Data Tools, dans l’Explorateur de solutions, double-cliquez sur le cube pour l’ouvrir dans le Concepteur de cube, puis cliquez sur l’onglet Partitions .In SQL Server Data ToolsSQL Server Data Tools, in Solution Explorer, double-click the cube to open it in Cube Designer, and then click the Partitions tab.

  2. Développez le groupe de mesures pour lequel vous ajoutez des partitions.Expand the measure group for which are adding partitions. Par défaut, chaque groupe de mesures comporte une partition, liée à une table de faits dans la vue DSV.By default, each measure group has one partition, bound to a fact table in the DSV.

  3. Dans la colonne Source, cliquez sur le bouton de navigation (.In the Source column, click the browse (. pour ouvrir la boîte de dialogue Source de partition..) button to open the Partition Source dialog box.

    Colonne source dans le volet PartitionSource column in Partition pane

  4. Dans Type de liaison, sélectionnez Liaison de requête.In Binding Type, select Query Binding. La requête SQL qui sélectionne les données apparaît automatiquement.The SQL query that selects the data appears automatically.

  5. Dans la clause WHERE située dans la partie inférieure, ajoutez un filtre qui segmente les données pour cette partition.In the WHERE clause at the bottom, add a filter that segments data for this partition.

    Exemples de syntaxe de la clause WHERE : WHERE OrderDateKey >= '20060101' ou WHERE OrderDateKey BETWEEN '20051001' AND '20051201'.Examples of WHERE clause syntax include WHERE OrderDateKey >= '20060101' or WHERE OrderDateKey BETWEEN '20051001' AND '20051201'. Pour obtenir des exemples, consultez WHERE (Transact-SQL).For other examples, see WHERE (Transact-SQL).

    Notez que les filtres suivants s'excluent mutuellement dans chaque jeu :Notice that the following filters are mutually exclusive within each set:

    Ensemble 1 :Set 1: "SaleYear" = 2012"SaleYear" = 2012

    "Année_de_Vente" = 2013"SaleYear" = 2013
    Jeu 2 :Set 2: "Continent" = 'Amérique_du_Nord'"Continent" = 'NorthAmerica'

    "Continent" = 'Europe'"Continent" = 'Europe'

    "Continent" = 'Amérique_du_Sud'"Continent" = 'SouthAmerica'
    Ensemble 3 :Set 3: "Pays" = 'USA'"Country" = 'USA'

    "Pays" = 'Mexique'"Country" = 'Mexico'

    ("Pays" <> 'USA' AND "Pays" <> 'Mexique')("Country" <> 'USA' AND "Country" <> 'Mexico')
  6. Cliquez sur Vérifier pour rechercher les erreurs de syntaxe, puis cliquez sur OK.Click Check to check for syntax errors, and then click OK.

  7. Répétez les étapes précédentes pour créer les partitions restantes, en modifiant chaque fois la clause WHERE pour sélectionner la tranche de données suivante.Repeat the previous steps to create the remaining partitions, modifying the WHERE clause each time to select the next data slice.

  8. Déployez la solution ou traitez la partition pour charger les données.Deploy the solution or process the partition to load the data. Veillez à traiter toutes les partitions.Be sure to process all partitions.

  9. Parcourez le cube pour vérifier que les données correctes sont retournées.Browse the cube to verify the correct data is returned.

Une fois que vous disposez d'un groupe de mesures qui utilise plusieurs groupes de mesures, vous pouvez créer des partitions supplémentaires dans SQL Server Management StudioSQL Server Management Studio.After you have a measure group that uses multiple measure groups, you can create additional partitions in SQL Server Management StudioSQL Server Management Studio. Dans un groupe de mesures, cliquez avec le bouton droit sur le dossier Partitions, puis sélectionnez Nouvelles partitions pour démarrer l’Assistant.Under a measure group, right-click the Partitions folder and select New Partitions to start the wizard.

Notes

Au lieu de filtrer les données dans une partition, vous pouvez utiliser la même requête pour créer une requête nommée dans la vue DSV, puis baser la partition sur la requête nommée.Instead of filtering data in a partition, you can use the same query to create a name query in the DSV, and then base the partition on the named query.

Option n°2 : Utiliser des Tables, vues ou requêtes nomméesOption 2: Use Tables, Views, or Named Queries

Si la vue DSV organise déjà des faits dans des tables individuelles (par exemple, par année ou trimestre), vous pouvez créer des partitions basées sur une table individuelle, où chaque partition possède sa propre table de source de données.If the DSV already organizes facts into individual tables (for example, by year or quarter), you can create partitions based on an individual table, where each partition has its own data source table. Il s'agit de la procédure généralement utilisée pour partitionner les groupes de mesures par défaut, mais dans le cas de plusieurs partitions, vous divisez la partition d'origine en plusieurs partitions et mappez chaque nouvelle partition à la table de source de données qui fournit les données.This is essentially how measure groups are partitioned by default but in the case of multiple partitions, you break the original partition into multiple partitions, and map each new partition to the data source table providing the data.

Les vues et les requêtes nommées sont équivalentes aux tables, d'un point de vue fonctionnel, car les trois objets sont définis dans la vue DSV et liés à une partition à l'aide de l'option Liaison de table de la boîte de dialogue Source de partition.Views and named queries are functional equivalent to tables, in that all three objects are defined in the DSV and bound to a partition using the Table Binding option in the Partition Source dialog box. Vous pouvez créer une vue ou une requête nommée pour générer le segment de données requis pour chaque partition.You can create a view or named query to generate the data segment needed for each partition. Pour plus d’informations, consultez Définir des requêtes nommées dans une vue de source de données (Analysis Services).For more information, see Define Named Queries in a Data Source View (Analysis Services).

Important

Lorsque vous créez des requêtes nommées s'excluant mutuellement pour des partitions dans une vue DSV, assurez-vous que les données combinées pour les partitions contiennent toutes les données d'un groupe de mesures que vous souhaitez inclure dans le cube.When you create mutually exclusive named queries for partitions in a DSV, ensure that the combined data for the partitions includes all data from a measure group that you want to include in the cube. Assurez-vous que vous ne conservez pas une partition par défaut basée sur la table complète pour le groupe de mesures, ou les partitions basées sur les requêtes empièteront sur la requête basée sur la table complète.Make sure that you do not leave a default partition based on the entire table for the measure group, or else the query based partitions will overlap the query based on the complete table.

  1. Créez une ou plusieurs requêtes nommées à utiliser comme source de partition.Create one or more named queries to use as the partition source. Pour plus d’informations, consultez Définir des requêtes nommées dans une vue de source de données (Analysis Services).For more information, see Define Named Queries in a Data Source View (Analysis Services).

    La requête nommée doit être basée sur la table de faits associée au groupe de mesures.The named query must be based on the fact table associated with the measure group. Par exemple, si vous partitionnez le groupe de mesures FactInternetSales, les requêtes nommées dans la vue DSV doivent spécifier la table FactInternetSales dans l'instruction FROM.For example, if you are partitioning the FactInternetSales measure group, the named queries in the DSV must specify the FactInternetSales table in the FROM statement.

  2. Dans SQL Server Data ToolsSQL Server Data Tools, dans l’Explorateur de solutions, double-cliquez sur le cube pour l’ouvrir dans le Concepteur de cube, puis cliquez sur l’onglet Partitions .In SQL Server Data ToolsSQL Server Data Tools, in Solution Explorer, double-click the cube to open it in Cube Designer, and then click the Partitions tab.

  3. Développez le groupe de mesures pour lequel vous ajoutez des partitions.Expand the measure group for which are adding partitions.

  4. Cliquez sur Nouvelle partition pour lancer l’Assistant Partition.Click New Partition to start the Partition Wizard. Si vous avez créé des requêtes nommées en utilisant la table de faits liée au groupe de mesures, vous devez voir chacune des requêtes nommées que vous avez créées à l'étape précédente.If you created the named queries using the fact table bound to the measure group, you should see each of the named queries you created in the previous step.

  5. Dans Spécifier des informations sur la source, choisissez l'une des requêtes nommées que vous avez créées à l'étape précédente.In Specify Source Information, choose one of the named queries you created in a previous step. Si vous ne voyez aucune requête nommée, revenez à la vue DSV et vérifiez l'instruction FROM.If you do not see any named queries, go back to the DSV and check the FROM statement.

  6. Cliquez sur Suivant pour accepter les paramètres par défaut pour chaque page suivante.Click Next to accept the default values for each subsequent page.

  7. Sur la dernière page, Fin de l'Assistant, donnez à la partition un nom descriptif.On the last page, Completing the Wizard, give the partition a descriptive name.

  8. Cliquez sur Terminer.Click Finish.

  9. Répétez les étapes précédentes pour créer les partitions restantes, en choisissant une requête nommée différente chaque fois pour sélectionner la tranche de données suivante.Repeat the previous steps to create the remaining partitions, choosing a different named query each time to select the next data slice.

  10. Déployez la solution ou traitez la partition pour charger les données.Deploy the solution or process the partition to load the data. Veillez à traiter toutes les partitions.Be sure to process all partitions.

  11. Parcourez le cube pour vérifier que les données correctes sont retournées.Browse the cube to verify the correct data is returned.

Étape suivanteNext Step

Lorsque vous créez des requêtes s'excluant mutuellement pour des partitions, assurez-vous que les données des partitions combinées contiennent toutes les données que vous souhaitez inclure dans le cube.When you create mutually exclusive queries for partitions, ensure that the combined partition data includes all data you want to include in the cube.

Dans la dernière étape, vous voulez normalement supprimer la partition par défaut qui était basée sur la table elle-même (si elle existe toujours), sinon les partitions basées sur la requête empièteront sur la requête basée sur la table entière.As a final step, you normally want to remove the default partition that was based on the table itself (if it still exists), or else the query based partitions will overlap the query based on the complete table.

Voir aussiSee Also

Partitions (Analysis Services - Données multidimensionnelles) Partitions (Analysis Services - Multidimensional Data)
Partitions distantes Remote Partitions
Fusionner des partitions dans Analysis Services (SSAS - Multidimensionnel)Merge Partitions in Analysis Services (SSAS - Multidimensional)