Créer des relations

S’applique à : SQL Server 2019 et versions ultérieures Analysis Services Azure Analysis Services Power bi Premium

Dans cette leçon, vous allez vérifier les relations qui ont été créées automatiquement lorsque vous avez importé les données, et vous allez ajouter des relations entre différentes tables. Une relation est une connexion entre deux tables qui établit le mode de corrélation des données dans les deux tables. Par exemple, la table DimProduct et la table DimProductSubcategory ont une relation basée sur le fait que chaque produit de la table DimProduct appartient à une sous-catégorie de la table DimProductSubcategory. Pour plus d’informations, consultez Relations.

Important

À ce stade, l’exemple de base de données par défaut AdventureWorksDW installé avec Azure Synapse Analytics (SQL Data Warehouse) n’a pas de relations entre les tables décrites dans ce didacticiel. Vous devrez créer manuellement toutes les relations. La création manuelle de relations est décrite plus loin dans cette leçon.

Durée estimée pour suivre cette leçon : 10 minutes

Prérequis

Cet article fait partie d’un didacticiel de modélisation tabulaire, qui doit être suivi dans l’ordre prévu. Avant d’effectuer les tâches de cette leçon, vous devez avoir terminé la leçon précédente : Leçon 3 : Marquer en tant que Table de dates.

Examiner les relations existantes et ajouter de nouvelles relations

Lorsque vous avez importé des données à l’aide de l’obtention de données, vous avez sept tables de la base de données AdventureWorksDW. En règle générale, lorsque vous importez des données à partir d’une source relationnelle, les relations existantes sont importées automatiquement avec les données. Pour que Get Data crée automatiquement des relations dans le modèle de données, il doit y avoir des relations entre les tables à la source de données.

Avant de poursuivre avec la création de votre modèle, vous devez vérifier que les relations entre les tables ont été créées correctement. Dans le cadre de ce didacticiel, vous ajoutez aussi trois nouvelles relations.

Pour vérifier les relations existantes

  1. Cliquez sur le menu Modèle > Vue du modèle > Vue de diagramme.

    Le Concepteur de modèles apparaît à présent dans la vue de diagramme, sous la forme d’un graphique affichant toutes les tables que vous avez importées, reliées entre elles par des lignes. Les lignes entre les tables indiquent les relations qui ont été créées automatiquement lorsque vous avez importé les données.

    Capture d’écran de la vue de diagramme du fichier Model. BIM.

    Notes

    Si vous ne voyez aucune relation entre les tables, cela veut probablement dire qu’il n’y a aucune relation entre elles à la source des données.

    Incluez autant de tables que possible en utilisant les contrôles de la minicarte situés dans le coin inférieur droit du Concepteur de modèles. Vous pouvez également cliquer et faire glisser des tables à différents emplacements, en rapprochant les tables autant que possible, ou en les plaçant dans un ordre précis. Le déplacement des tables n’affecte pas les relations entre elles. Pour visualiser toutes les colonnes d’une table spécifique, cliquez sur un bord de la table et faites-le glisser pour développer ou réduire la taille de la table.

  2. Cliquez sur la ligne pleine située entre la table DimCustomer et la table DimGeography. La ligne pleine entre ces deux tables indique que cette relation est active, autrement dit, qu’elle est utilisée par défaut lors du calcul des formules DAX.

    Notez que la colonne GeographyKey de la table DimCustomer et la colonne GeographyKey de la table DimGeography s’affichent désormais dans un cadre. Ces colonnes sont utilisées dans la relation. Les propriétés de la relation apparaissent maintenant aussi dans la fenêtre Propriétés .

    Conseil

    Vous pouvez également utiliser la boîte de dialogue gérer les relations pour afficher les relations entre toutes les tables dans un format de table. Dans l’Explorateur de modèles tabulaires, cliquez avec le bouton droit sur relations > gérer les relations.

  3. Vérifiez que les relations ci-après ont été créées lorsque chacune des tables a été importée à partir de la base de données AdventureWorksDW :

    Actif Table de charge de travail Table de recherche associée
    Oui DimCustomer [GeographyKey] DimGeography [GeographyKey]
    Oui DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey]
    Oui DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey]
    Oui FactInternetSales [CustomerKey] DimCustomer [CustomerKey]
    Oui FactInternetSales [ProductKey] DimProduct [ProductKey]

    Si l’une des relations est manquante, vérifiez que votre modèle comprend les tables suivantes : DimCustomer, DimDate, DimGeography, DimProduct, DimProductCategory, DimProductSubcategory et FactInternetSales. Si des tables provenant de la même connexion DataSource sont importées à des moments différents, les relations entre ces tables ne sont pas créées et doivent être créées manuellement. Si aucune relation n’apparaît, cela veut dire qu’il n’y en a aucune à la source de données. Vous pouvez les créer manuellement dans le modèle de données.

Examen approfondi

Dans la vue de diagramme, notez la présence d’une flèche, d’un astérisque et d’un nombre sur les lignes, qui indiquent la relation entre les tables.

Capture d’écran de la vue de diagramme avec les flèches, les astérisques et les nombres mis en surbrillance.

La flèche indique la direction du filtre. L’astérisque indique que cette table est le côté « plusieurs » dans la cardinalité de la relation, et que celle-ci indique que cette table est le côté « un » de la relation. Si vous devez modifier une relation (par exemple, modifier la direction du filtre de la relation ou sa cardinalité), double-cliquez sur la ligne de relation pour ouvrir la boîte de dialogue Modifier la relation.

Capture d’écran de la boîte de dialogue Modifier la relation avec les options DimCustomer et GeographyKey mises en surbrillance pour les tables 1 et 2.

Ces fonctionnalités sont destinées à la modélisation de données avancée et sortent du cadre de ce didacticiel. Pour plus d’informations, consultez Filtres croisés bidirectionnels pour les modèles tabulaires dans Analysis Services.

Dans certains cas, vous devrez peut-être créer des relations supplémentaires entre les tables de votre modèle pour répondre aux besoins d’une certaine logique métier. Pour ce didacticiel, vous devez créer trois relations supplémentaires entre la table FactInternetSales et la table DimDate.

Pour ajouter de nouvelles relations entre des tables

  1. Dans le concepteur de modèles, dans la table FactInternetSales , cliquez sur la colonne OrderDate et maintenez-la enfoncée, faites glisser le curseur vers la colonne Date de la table DimDate , puis relâchez.

    Une ligne pleine s’affiche pour indiquer que vous avez créé une relation active entre la colonne OrderDate de la table Internet Sales et la colonne Date de la table Date .

    Capture d’écran du générateur de modèles avec OrderDate et date appelée montrant la ligne pleine entre les tables.

    Notes

    Lors de la création de relations, la cardinalité et la direction du filtre entre la table primaire et la table de recherche associée sont automatiquement sélectionnées.

  2. Dans la table FactInternetSales, cliquez sur la colonne DueDate et maintenez le bouton enfoncé, faites glisser le curseur vers la colonne Date de la table DimDate, puis relâchez le bouton.

    Une ligne en pointillés apparaît et indique que vous avez créé une relation inactive entre la colonne DueDate de la table FactInternetSales et la colonne Date de la table DimDate . Vous pouvez avoir plusieurs relations entre les tables, mais une seule relation peut être active à la fois. Les relations inactives peuvent devenir actives si vous devez effectuer des agrégations spéciales dans des expressions DAX personnalisées.

  3. Pour finir, créez une dernière relation. Dans la table FactInternetSales, cliquez sur la colonne ShipDate et maintenez le bouton de la souris enfoncé, faites glisser le curseur vers la colonne Date de la table DimDate, puis relâchez le bouton de la souris.

    Capture d’écran du générateur de modèles avec ShipDate et date.

Étape suivante

Leçon 5 : Créer des colonnes calculées