Power BI : mes infos clients sont éparpillées dans 3 tables, comment les réunir ?

24 septembre 2026

Mes infos clients sont éparpillées dans plusieurs tables : les réunir dans le modèle Power BI Desktop, entre fusion et relations entre les tables (sans relation plusieurs-à-plusieurs)

Votre CRM exporte une table Clients avec le nom et le numéro, une table Adresses avec la ville et le pays, une table Segments avec la catégorie commerciale. Trois morceaux, trois identifiants client, et dans Power BI trois relations qui partent de vos ventes vers trois directions. Dès que vous voulez un visuel « chiffre d'affaires par pays et par segment », rien ne se filtre correctement.

La bonne réponse tient en une phrase : les trois tables décrivent la même chose, un client, donc elles n'ont pas à rester trois. On les fusionne dans l'éditeur de requêtes pour n'en garder qu'une, que l'on relie ensuite à la table de faits. Cela vaut aussi pour ce qui traîne : chaque table intermédiaire disparaîtra du modèle. Et cela vaut pour Power BI comme pour les outils qui l'ont précédé : des outils comme Power Query existaient déjà dans Excel. Voici comment faire, et surtout comment ne pas confondre fusionner, ajouter et relier, trois gestes qui se ressemblent et qui ne servent pas à la même chose.

Pourquoi plusieurs tables Clients posent problème dans le modèle de données

Dans les bases de données, découper l'information client entre différentes tables est une bonne pratique : on l'appelle la normalisation, et elle évite de répéter l'adresse sur chaque ligne. Dans Power BI, cette logique se retourne contre vous.

D'abord, chaque morceau supplémentaire exige une relation entre les tables, et le filtre ne circule que le long de ces relations. Si Adresses est reliée à Clients et Clients à Ventes, un filtre sur le pays doit traverser un maillon intermédiaire avant d'atteindre les ventes. Cela fonctionne, mais lentement, et ce n'est plus possible si vous activez un filtrage dans l'autre sens.

Ensuite, les identifiants ne sont pas toujours propres : un client présent deux fois dans Adresses (déménagement, deux agences) et Power BI vous propose une relation plusieurs à plusieurs. La cardinalité plusieurs à plusieurs est acceptée, mais elle masque ces doublons au lieu de les révéler, et vos totaux se dédoublent en silence.

Enfin, les modèles de données lisibles ont une forme connue : le schéma en étoile, une table de faits au centre, une table de dimension par sujet autour. Plusieurs morceaux pour un seul sujet, c'est plusieurs branches là où il en faut une.

Concepts à ne pas confondre : normalisation (Dim Pays et Dim Continent séparées) contre dénormalisation (une seule Dim Geo)« Concepts à ne pas confondre : Normalisation vs Dénormalisation », extrait du livre Microsoft Power BI en images, p. 93.

Fusionner, ajouter, relier : trois gestes à ne pas confondre

Avant d'ouvrir l'éditeur, posez-vous la question de ce que contiennent vos tables.

  • Vos morceaux décrivent le même client avec des colonnes différentes (nom d'un côté, adresse de l'autre, segment ailleurs) : il faut les fusionner. C'est un ajout horizontal, l'équivalent d'une RECHERCHEV. Résultat : une seule table Clients, plus large.
  • Vos morceaux décrivent des clients différents avec les mêmes colonnes (clients France, clients Belgique, clients Suisse, issus de trois fichiers) : il faut les ajouter, c'est-à-dire les empiler. Résultat : un seul bloc, plus long.
  • Un fichier décrit les clients, une autre table décrit ce qu'ils ont acheté : il ne faut ni fusionner ni ajouter, mais relier, par une relation un-à-plusieurs, dans le modèle.

Le critère est simple : ce qui décrit le même sujet se fusionne ou s'ajoute ; ce qui décrit un sujet et ses événements se relie.

Concepts à ne pas confondre : fusionner (ajout horizontal, nouvelles colonnes) contre ajouter/combiner (ajout vertical, nouvelles lignes)« Concepts à ne pas confondre : Fusionner vs Ajouter / Combiner », extrait du même livre, p. 83.

Réunir les morceaux : la méthode, étape par étape

Prenons Clients (ID_Client, Nom, Téléphone), Adresses (ID_Client, Ville, Pays) et Segments (ID_Client, Segment). Après avoir cliqué sur Transformer les données pour importer les données dans l'éditeur, repérez les colonnes communes entre vos tables, ici ID_Client : c'est la clé.

  1. Nettoyez d'abord les clés. Dans chacune, sélectionnez ID_Client, puis Transformer > Format > Supprimer les espaces, et vérifiez que le type est identique partout (texte ou nombre entier, mais pas l'un et l'autre). C'est le moment d'utiliser Power Query pour nettoyer ce qui empêcherait la correspondance.
  2. Éliminez les lignes en double dans Adresses et Segments. Clic droit sur ID_Client > Supprimer les doublons. Si un client a deux adresses, décidez laquelle garder (la plus récente, par exemple, avec un tri préalable) : c'est cette décision qui vous évite plus tard le plusieurs-à-plusieurs, et permet d'éviter les erreurs de totaux.
  3. Fusionnez Clients avec Adresses. Sélectionnez Clients, puis Accueil > Combiner > Fusionner les requêtes. Choisissez Adresses, cliquez sur ID_Client de chaque côté, et gardez le type de jointure Externe gauche : tous les clients sont conservés, même ceux sans adresse.
  4. Développez la colonne Adresses en cochant seulement Ville et Pays. Décochez « Utiliser le nom de la colonne d'origine comme préfixe », sinon vous obtiendrez « Adresses.Ville ».
  5. Répétez avec Segments, sur la même clé, pour ajouter la colonne Segment.
  6. Rangez le résultat : renommer les colonnes si nécessaire (Pays plutôt que Country), supprimer les colonnes techniques, puis renommez la requête Dim_Client.
  7. Désactivez le chargement d'Adresses et de Segments (clic droit > Activer le chargement). Elles ont fait leur travail dans la préparation ; elles n'ont rien à faire dans le modèle.

Vous obtenez Dim_Client, dimension unique avec toutes ses colonnes de dimension, et ces 2 colonnes clés qui ne servent qu'aux relations peuvent être masquées plus tard. Fermez et appliquez.

sélectionner la requête, Combiner > Fusionner, colonnes clés, développer la colonne Table« Fusion de requêtes », extrait du même livre, p. 149.

En vidéo : les différentes fusions (jointures) de requêtes, expliquées pas à pas

Relier les tables : la table Clients et la table de faits

Une fois les données dans Power BI, ouvrez la vue Modèle dans Power BI (icône sur le bord gauche). Toutes les tables intermédiaires ont disparu ; il ne reste à connecter que Dim_Client et votre table de faits, Fact_Ventes. Créer des relations entre ces tables prend dix secondes.

Glissez ID_Client de Dim_Client vers ID_Client de Fact_Ventes. Power BI crée la relation entre les deux tables. Vérifiez trois points dans la boîte de dialogue :

  • le type de relation, la cardinalité, doit afficher « Un à plusieurs (1:*) », le côté 1 étant Dim_Client : un client, plusieurs ventes. Si Power BI propose du « plusieurs vers plusieurs », c'est qu'il reste des doublons dans Dim_Client : retournez à l'étape 2 ;
  • le sens du filtre croisé reste « Unique », de la dimension vers les faits ;
  • la relation est active (case cochée). Une relation inactive, en pointillés, ne filtre rien tant qu'une mesure ne l'active pas.

Si vous avez deux tables de faits, par exemple Ventes et Réclamations, ne reliez pas les tables de faits directement entre elles : reliez chacune à Dim_Client, qui devient la table partagée, avec Ventes et Réclamations comme tables associées. C'est elle qui permet de comparer chiffre d'affaires et réclamations par client dans un même visuel.

En vidéo : les différentes relations entre les tables, expliquées depuis le modèle

Fusion ou relation : pourquoi ne pas tout fusionner dans la table de faits du modèle dans Power BI Desktop ?

La tentation existe : puisque fusionner marche si bien, pourquoi ne pas ramener aussi Nom, Ville et Segment directement dans Fact_Ventes, et n'avoir plus qu'un bloc unique ? Parce que la table de faits contient généralement de grandes quantités de données : répéter le nom et l'adresse du client sur chacune de ses milliers de lignes de vente alourdit le modèle et ralentit les visuels, alors qu'une relation laisse ces colonnes dans leur table d'origine.

La règle : on fusionne ce qui décrit le même sujet (nos morceaux de table Clients), on relie une dimension et ses faits. Notre article : Croiser des sources : faut-il fusionner ou créer une relation ?, détaille les deux méthodes.

Concepts à ne pas confondre : fusion dans l'éditeur de requêtes contre relation dans le modèle« Concepts à ne pas confondre : Fusion vs Relation », extrait du même livre, p. 77.

Quatre pièges à éviter

Fusionner sur des colonnes de types différents. Un ID_Client en texte d'un côté et en nombre de l'autre : la fusion s'exécute sans erreur et ne trouve aucune correspondance. Alignez les types avant de fusionner.

Oublier une clé composée. Si le client n'est unique que par la combinaison Code_Agence + Numéro, sélectionnez les deux colonnes (Ctrl enfoncé) dans la fenêtre de fusion. Les noms de colonnes peuvent différer entre deux tables, seule la position compte.

Relier là où il fallait fusionner. Des morceaux de la table Clients reliés en chaîne à Fact_Ventes fonctionnent en apparence, mais les mesures DAX deviennent fragiles et chaque nouveau visuel réclame une relation de plus. Établir des relations entre des morceaux d'un même sujet est le signe qu'une fusion manque en amont.

Résoudre par une colonne calculée ce qui se règle en amont. Une colonne RELATED en DAX pour rapatrier le pays dans les ventes marche, mais elle est recalculée à chaque actualisation et grossit le modèle. La création de colonnes descriptives se fait via Power Query, pas dans le modèle.

Questions fréquentes

Et si mes morceaux viennent de sources différentes (CRM, Excel, SQL) ? La méthode ne change pas. L'éditeur sait fusionner des requêtes issues de diverses sources de données, à condition que la clé soit identique. Nettoyez-la dans chaque requête avant de fusionner.

Puis-je fusionner directement dans Power BI Service ? Non, la fusion se fait dans Power BI Desktop (ou dans un flux de données côté service). Le rapport publié embarque déjà la table fusionnée.

Et Power Pivot dans Excel ? Même logique : les relations entre les tables se créent dans le modèle, et les fusions dans l'éditeur de requêtes d'Excel. Les deux outils partagent le même moteur.

Où mettre mes mesures ? Dans une table de mesures dédiée, sans relation. Un bloc isolé dans le modèle n'est pas une erreur, c'est une bonne pratique de modélisation pour la création de rapports.

Pour aller plus loin

Articles en relation

Devenez un expert en Power BI

avec nos formations 100% pratique et sur mesure
Découvrir nos formations

Retrouvez nos autres marques

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram