Définir des partitions dans des modèles DirectQuery

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Cet article décrit comment les partitions sont utilisées dans les modèles DirectQuery. Pour plus d’informations générales sur les partitions dans les modèles tabulaires, consultez Partitions dans les modèles tabulaires.

Note

Bien qu’une table puisse avoir plusieurs partitions, en mode DirectQuery, une seule d’entre elles peut être désignée pour une utilisation dans l’exécution de requête. L’exigence de partition unique s’applique aux modèles DirectQuery à tous les niveaux de compatibilité.

Utilisation de partitions en mode DirectQuery

Pour chaque table, vous devez spécifier une partition unique à utiliser comme source de données DirectQuery. S’il existe plusieurs partitions, lorsque vous basculez le modèle pour activer le mode DirectQuery, par défaut, la première partition créée dans la table est marquée comme partition DirectQuery. Vous pouvez le modifier ultérieurement à l’aide du Gestionnaire de partitions dans le concepteur de modèles tabulaires dans Visual Studio.

Pourquoi autoriser une seule partition en mode DirectQuery ? Dans les modèles tabulaires (comme dans les modèles OLAP), les partitions d’une table sont définies par les requêtes PowerQuery M ou les requêtes SQL. Le développeur qui crée la définition de partition est chargé de s’assurer que les partitions ne se chevauchent pas. Analysis Services ne vérifie pas si les enregistrements appartiennent à une ou plusieurs partitions.

Les partitions d’un modèle tabulaire mis en cache se comportent de la même façon. Si vous utilisez un modèle en mémoire, alors que le cache est accessible, les formules DAX sont évaluées pour chaque partition et les résultats sont combinés. Toutefois, lorsqu’un modèle tabulaire utilise le mode DirectQuery, il serait impossible d’évaluer plusieurs partitions, de combiner les résultats et de le convertir en instruction SQL pour l’envoi au magasin de données relationnelle. Cela pourrait entraîner une perte inacceptable de performances, ainsi que des inexactitudes potentielles à mesure que les résultats sont agrégés.

Par conséquent, pour les requêtes répondues en mode DirectQuery, le serveur utilise une seule partition marquée comme partition principale pour l’accès DirectQuery, appelée partition DirectQuery. La requête SQL spécifiée dans la définition de cette partition définit le jeu complet de données qui peut être utilisé pour répondre aux requêtes en mode DirectQuery.

Si vous ne définissez pas explicitement une partition, le moteur émet simplement une requête SQL à l’ensemble de la source de données relationnelle, effectue toutes les opérations basées sur des ensembles dictées par la formule DAX et retourne les résultats de la requête.

Modifier une partition DirectQuery

Étant donné qu’une seule partition d’une table peut être désignée comme partition DirectQuery, par défaut, Analysis Services utilise la première partition créée dans la table. Pendant la création de projet de modèle, vous pouvez modifier la partition DirectQuery à l’aide du Gestionnaire de partitions. Pour les modèles déployés, vous pouvez modifier la partition DirectQuery à l’aide de SQL Server Management Studio.

Modifier la partition DirectQuery pour un projet de modèle tabulaire

  1. Dans Visual Studio, dans le concepteur de modèles, cliquez sur la table (onglet) qui contient la table partitionnée.

  2. Cliquez sur Extensions>Table>Partitions.

  3. Dans le Gestionnaire de partitions, la partition qui est la partition Direct Query actuelle indiquée par le préfixe (DirectQuery) sur le nom de la partition.

    Sélectionnez une autre partition dans la liste Partitions , puis cliquez sur Définir en tant que DirectQuery. Le bouton Définir en tant que DirectQuery n’est pas activé lorsque la partition DirectQuery actuelle est sélectionnée et n’est pas visible si le modèle n’a pas été activé pour le mode Requête directe.

Modifier la partition DirectQuery pour un modèle tabulaire déployé

  1. Dans SQL Server Management Studio, ouvrez la base de données de modèle dans l’Explorateur d’objets.

  2. Développez le nœud Tables , cliquez avec le bouton droit sur la table partitionnée, puis sélectionnez Partitions.

    La partition désignée pour une utilisation avec le mode DirectQuery a le préfixe (DirectQuery) sur le nom de la partition.

  3. Pour passer à une autre partition, cliquez sur l’icône de barre d’outils Direct Query pour ouvrir la boîte de dialogue Définir la partition DirectQuery . L’icône de barre d’outils DirectQuery n’est pas disponible sur les modèles qui n’ont pas été activés pour Direct Query.

  4. Choisissez une partition différente dans la liste déroulante Nom de la partition, puis modifiez les options de traitement sur la partition si nécessaire.

Voir aussi

Partitions