Charger des données transformées dans Power BI Desktop

Histoire du labo

Dans ce labo, vous allez utiliser des techniques de nettoyage et de transformation des données pour commencer à mettre en forme votre modèle de données. Vous appliquerez ensuite les requêtes pour charger chacune d’elles sous forme de table dans le modèle de données.

Dans ce labo, vous allez découvrir comment :

  • Appliquer différentes transformations
  • Charger des requêtes sur le modèle de données

Ce labo devrait prendre environ 45 minutes.

Prise en main

Durant cette tâche, vous configurez l’environnement pour le labo.

Important : Si vous avez effectué le labo précédent sur la même machine virtuelle, passez à la tâche suivante.

  1. Ouvrez Power BI Desktop.

    Conseil : Par défaut, la boîte de dialogue Prise en main s’ouvre par-dessus Power BI Desktop. Vous pouvez choisir de vous connecter, puis de fermer la fenêtre contextuelle.

    Icône Power BI Desktop

  2. Pour ouvrir le fichier Power BI Desktop de démarrage, sélectionnez Fichier > Ouvrir le rapport > Parcourir les rapports.

  3. Dans la fenêtre Ouvrir, accédez au dossier D:\PL300\Labs\02-load-data-with-power-query-in-power-bi-desktop\Starter, puis ouvrez le fichier Sales Analysis.

  4. Fermez toutes les fenêtres d’information qui se sont éventuellement ouvertes.

  5. Notez qu’un message d’avertissement jaune est affiché sous le ruban.

    Ce message vous avertit que les requêtes n’ont pas été appliquées pour se charger en tant que tables de modèle. Vous appliquerez les requêtes plus tard dans ce labo.

    Pour fermer le message d’avertissement, à droite du message d’avertissement jaune, sélectionnez X.

  6. Pour créer une copie du fichier, accédez à Fichier > Enregistrer sous et enregistrez-le dans le dossier D:\PL300\MySolution.

  7. Si vous êtes invité à appliquer les modifications, sélectionnez Appliquer plus tard.

Configurer la requête Salesperson

Durant cette tâche, vous allez utiliser l’Éditeur Power Query pour configurer la requête Salesperson.

Important : quand il vous est demandé de renommer des colonnes, il est important de les renommer exactement comme c’est décrit.

  1. Pour ouvrir la fenêtre Éditeur Power Query, sous l’onglet de ruban Accueil, dans le groupe Requêtes, sélectionnez l’icône Transformer les données.

    Transformer des données dans le ruban Accueil

  2. Dans la fenêtre Éditeur Power Query, dans le volet Requêtes, sélectionnez la requête DimEmployee.

    Image 1

  3. Pour renommer la requête, dans le volet Paramètres de la requête (situé à droite), dans la zone Nom, remplacez le texte par Salesperson, puis appuyez sur Entrée. Vérifiez ensuite que le nom a été mis à jour dans le volet Requêtes.

    Le nom de la requête détermine le nom de la table du modèle. Il est recommandé de définir des noms concis et conviviaux.

  4. Pour trouver une colonne spécifique, sous l’onglet du ruban Accueil, dans le groupe Gérer les colonnes, sélectionnez la flèche vers le bas Choisir des colonnes, puis Accéder à la colonne.

    Accéder à la colonne est une fonctionnalité utile avec de nombreuses colonnes. Sinon, vous pouvez faire défiler horizontalement pour recherches des colonnes.

    Gérer les colonnes > Choisir des colonnes > Accéder à la colonne

  5. Dans la fenêtre Accéder à la colonne, pour trier la liste par nom de colonne, sélectionnez le bouton de tri AZ, sélectionnez Nom, puis SalesPersonFlag. Cliquez sur OK.

    Options de tri d’Accéder à la colonne

  6. Recherchez la colonne SalesPersonFlag, puis filtrez la colonne pour sélectionner seulement Salespeople (c’est-à-dire TRUE), puis cliquez sur OK.

  7. Dans le volet Paramètres de la requête, dans la liste Étapes appliquées, notez l’ajout de l’étape Lignes filtrées.

    Chaque transformation que vous créez produit une autre logique d’étape. Il est possible de modifier ou de supprimer des étapes. Il est également possible de sélectionner une étape pour afficher un aperçu des résultats de la requête à cette phase de la transformation.

    Étapes appliquées

  8. Pour supprimer des colonnes, sous l’onglet de ruban Accueil, sélectionnez le groupe Gérer les colonnes, puis l’icône Choisir des colonnes.

  9. Dans la fenêtre Choisir des colonnes, pour décocher toutes les colonnes, décochez l’élément (Sélectionner toutes les colonnes).

  10. Pour inclure des colonnes, cochez les six colonnes suivantes :

    • EmployeeKey
    • EmployeeNationalIDAlternateKey
    • FirstName
    • LastName
    • Title
    • EmailAddress
  11. Dans la liste Étapes appliquées, notez l’ajout d’une autre étape de requête.

    Étapes d’autres colonnes supprimées

  12. Pour créer une seule colonne avec le nom, sélectionnez d’abord l’en-tête de colonne FirstName. Tout en appuyant sur la touche Ctrl, sélectionnez la colonne LastName.

    Sélectionner deux colonnes pour créer une colonne unique

  13. Cliquez avec le bouton droit sur un des en-têtes de colonne puis, dans le menu contextuel, sélectionnez Fusionner les colonnes.

    De nombreuses transformations courantes peuvent être appliquées en cliquant avec le bouton droit sur l’en-tête de colonne, puis en les sélectionnant dans le menu contextuel. Cependant, d’autres transformations sont disponibles dans le ruban.

  14. Dans la fenêtre Fusionner les colonnes, dans la liste déroulante Séparateur, sélectionnez Espace.

  15. Dans la zone Nom de la nouvelle colonne, remplacez le texte par Salesperson.

  16. Pour renommer la colonne EmployeeNationalIDAlternateKey, double-cliquez sur l’en-tête de colonne EmployeeNationalIDAlternateKey, remplacez le texte par EmployeeID, puis appuyez sur Entrée.

  17. Utilisez les étapes précédentes pour renommer la colonne EmailAddress en UPN.

    UPN est l’acronyme de « User Principal Name » (Nom d’utilisateur principal).

  18. En bas à gauche, dans la barre d’état, vérifiez que la requête a bien 5 colonnes et 18 lignes.

Configurer la requête SalespersonRegion

Dans cette tâche, vous allez configurer la requête SalespersonRegion.

  1. Dans le volet Requêtes, sélectionnez la requête DimEmployeeSalesTerritory.

  2. Dans le volet Paramètres de la requête, renommez la requête en SalespersonRegion.

  3. Pour supprimer les deux dernières colonnes, sélectionnez d’abord l’en-tête de colonne DimEmployee.

  4. Tout en appuyant sur la touche Ctrl, sélectionnez l’en-tête de colonne DimSalesTerritory.

  5. Cliquez avec le bouton droit sur un des en-têtes de colonne puis, dans le menu contextuel, sélectionnez Supprimer les colonnes.

  6. Dans la barre d’état, vérifiez que la requête a bien 2 colonnes et 39 lignes.

Configurer la requête Product

Dans cette tâche, vous allez configurer la requête Product.

Important : Lorsque des instructions détaillées ont déjà été fournies, les étapes du labo fournissent des instructions plus concises. Si vous avez besoin des instructions détaillées, vous pouvez vous reporter aux étapes des tâches antérieures.

  1. Sélectionnez la requête DimProduct et renommez-la Product.

  2. Recherchez la colonne FinishedGoodsFlag, puis filtrez la colonne pour récupérer les produits finis (c’est-à-dire dont la valeur est TRUE).

  3. Supprimez toutes les colonnes, à l’exception des suivantes :

    • ProductKey
    • EnglishProductName
    • StandardCost
    • Color
    • DimProductSubcategory
  4. Notez que la colonne DimProductSubcategory représente une table associée (elle contient des liens Value).

  5. Dans l’en-tête de colonne DimProductSubcategory, à droite du nom de la colonne, sélectionnez le bouton Développer.

    Icône de développement de colonne

  6. Consultez la liste complète des colonnes, puis cliquez sur la case Sélectionner toutes les colonnes pour désélectionner toutes les colonnes.
  7. Sélectionnez EnglishProductSubcategoryName et DimProductCategory, puis décochez la case Utiliser le nom de la colonne d’origine comme préfixe avant de sélectionner OK.

    Ces deux colonnes étant sélectionnées, une transformation sera appliquée de façon à établir une jointure avec la table DimProductSubcategory, puis ces colonnes seront incluses. La colonne DimProductCategory est en fait une autre table associée dans la source de données.

    Les noms des colonnes d’une requête doivent toujours être uniques. Si elle est cochée, cette case à cocher va préfixer chaque colonne du nom de colonne développé (dans ce cas DimProductSubcategory). Comme les colonnes sélectionnées n’entrent pas en conflit avec des colonnes dans la requête Product, l’option est désélectionnée.

  8. Notez que la transformation a entraîné l’ajout de deux colonnes et que la colonne DimProductSubcategory a été supprimée.

  9. Développez la colonne DimProductCategory, puis introduisez seulement la colonne EnglishProductCategoryName.

  10. Renommez les quatre colonnes suivantes :

    • EnglishProductName en Product
    • StandardCost en Standard Cost (incluez un espace)
    • EnglishProductSubcategoryName en Subcategory
    • EnglishProductCategoryName en Category
  11. Dans la barre d’état, vérifiez que la requête a bien 6 colonnes et 397 lignes.

Configurer la requête Reseller

Lors de cette tâche, vous allez configurer la requête Reseller.

  1. Sélectionnez la requête DimReseller et renommez-la Reseller.

  2. Supprimez toutes les colonnes, à l’exception des suivantes :

    • ResellerKey
    • BusinessType
    • ResellerName
    • DimGeography
  3. Développez la colonne DimGeography pour inclure seulement les trois colonnes suivantes :

    • City
    • StateProvinceName
    • EnglishCountryRegionName
  4. Dans l’en-tête de colonne Business Type, sélectionnez la flèche vers le bas, puis examinez les valeurs de colonne distinctes : vous constatez la présence des deux valeurs Warehouse et Ware House.

  5. Cliquez avec le bouton droit sur l’en-tête de colonne Business Type, puis sélectionnez Remplacer les valeurs.

  6. Dans la fenêtre Remplacer les valeurs, configurez les valeurs suivantes :

    • Dans la zone Valeur à rechercher, entrez Ware House
    • Dans la zone Remplacer par, entrez Warehouse

    Boîte de dialogue Remplacer des valeurs

  7. Renommez les quatre colonnes suivantes :

    • BusinessType en Business Type (incluez un espace)
    • ResellerName en Reseller
    • StateProvinceName en State-Province
    • EnglishCountryRegionName en Country-Region
  8. Dans la barre d’état, vérifiez que la requête a bien 6 colonnes et 701 lignes.

Configurer la requête Region

Dans cette tâche, vous configurez la requête Region.

  1. Sélectionnez la requête DimSalesTerritory et renommez-la Region.

  2. Appliquez un filtre à la colonne SalesTerritoryAlternateKey pour supprimer la valeur 0 (zéro).

    Cela supprime une ligne.

  3. Supprimez toutes les colonnes, à l’exception des suivantes :

    • SalesTerritoryKey
    • SalesTerritoryRegion
    • SalesTerritoryCountry
    • SalesTerritoryGroup
  4. Renommez les trois colonnes suivantes :

    • SalesTerritoryRegion en Region
    • SalesTerritoryCountry en Country
    • SalesTerritoryGroup en Group
  5. Dans la barre d’état, vérifiez que la requête a bien 4 colonnes et 10 lignes.

Configurer la requête Sales

Lors de cette tâche, vous allez configurer la requête Sales.

  1. Sélectionnez la requête FactResellerSales et renommez-la Sales.

  2. Supprimez toutes les colonnes, à l’exception des suivantes :

    • SalesOrderNumber
    • OrderDate
    • ProductKey
    • ResellerKey
    • EmployeeKey
    • SalesTerritoryKey
    • OrderQuantity
    • UnitPrice
    • TotalProductCost
    • SalesAmount
    • DimProduct

      Remarque : Vous vous souvenez peut-être que dans le labo Préparer des données dans Power BI Desktop, un petit pourcentage des lignes FactResellerSales ne contenait pas de valeurs pour TotalProductCost. La colonne DimProduct a été ajoutée de façon à récupérer la colonne de coût standard du produit et faciliter la correction du problème des valeurs manquantes.

  3. Développez la colonne DimProduct, décochez les colonnes, puis incluez la colonne StandardCost.

  4. Pour créer une colonne personnalisée, sous l’onglet de ruban Ajouter une colonne, dans le groupe Général, sélectionnez Colonne personnalisée.

    Image 5664

  5. Dans la fenêtre Colonne personnalisée, dans la zone Nom de la nouvelle colonne, remplacez le texte par Cost.

  6. Dans la zone Formule de colonne personnalisée, entrez l’expression suivante (après le symbole Égal) :
    • Vous pouvez copier l’expression à partir du fichier D:\PL300\Labs\02-load-data-with-power-query-in-power-bi-desktop\Assets\Snippets.txt.
    • Cette expression teste si la valeur de TotalProductCost est manquante. Si c’est le cas, elle génère une valeur en multipliant la valeur de OrderQuantity par la valeur de StandardCost ; sinon, elle utilise la valeur existante de TotalProductCost.

    ` if [TotalProductCost] = null then [OrderQuantity] * [StandardCost] else [TotalProductCost] `

  7. Supprimez les deux colonnes suivantes :

    • TotalProductCost
    • StandardCost
  8. Renommez les trois colonnes suivantes :

    • OrderQuantity en Quantity
    • UnitPrice en Unit Price (incluez un espace)
    • SalesAmount en Sales
  9. Pour modifier le type de données de la colonne, dans l’en-tête de la colonne Quantity, à gauche du nom de la colonne, sélectionnez l’icône 1.2, puis Nombre entier.

    Il est important de configurer le type de données correct. Quand la colonne contient une valeur numérique, il est également important de choisir le type correct si vous prévoyez d’effectuer des calculs mathématiques.

    Image 5667

  10. Modifiez les types de données des trois colonnes suivantes en Nombre décimal fixe.

    Le type de données Nombre décimal fixe autorise 19 chiffres et permet d’obtenir une meilleure précision pour éviter les erreurs d’arrondi. Il est important d’utiliser le type Nombre décimal fixe pour les valeurs financières ou les taux (comme les taux de change).

    • Unit Price
    • Ventes
    • Coût
  11. Dans la barre d’état, vérifiez que la requête a bien 10 colonnes et 999+ lignes.

    Un maximum de 1 000 lignes seront chargées comme aperçu des données pour chaque requête.

Configurer la requête Targets

Dans cette tâche, vous allez configurer la requête Targets.

  1. Sélectionnez la requête ResellerSalesTargets et renommez-la Targets.

  2. Pour dépivoter les colonnes correspondant aux 12 mois (M01-M12), sélectionnez d’abord les en-têtes des colonnes Year et EmployeeID.

  3. Cliquez avec le bouton droit sur un des en-têtes de colonne puis, dans le menu contextuel, sélectionnez Dépivoter les autres colonnes.

  4. Notez que les noms de colonne apparaissent maintenant dans la colonne Attribut et que les valeurs apparaissent dans la colonne Valeur.

  5. Appliquez un filtre à la colonne Valeur pour supprimer les valeurs « - » (trait d’union).

    Vous vous souvenez peut-être que le caractère de trait d’union a été utilisé dans le fichier CSV source pour représenter le zéro (0).

  6. Renommez les deux colonnes suivantes :

    • Attribut sur MonthNumber (il n’y a pas d’espace)
    • Valeur en Target
  7. Pour préparer les valeurs de la colonne MonthNumber, cliquez avec le bouton droit sur l’en-tête de colonne MonthNumber, puis sélectionnez Remplacer les valeurs.

    Vous allez maintenant appliquer des transformations pour produire une colonne de date. La date sera dérivée des colonnes Year et MonthNumber. Vous allez créer la colonne en utilisant la fonctionnalité Colonne à partir d’exemples.

  8. Dans la fenêtre Remplacer les valeurs, dans la zone Valeur à rechercher, entrez M et laissez Remplacer par vide.

  9. Changez le type de données de la colonne MonthNumber en Nombre entier.

  10. Sous l’onglet de ruban Ajouter une colonne, dans le groupe Général, sélectionnez l’icône Colonne à partir d’exemples.

    Image 5675

  11. Notez que la première ligne est pour l’année 2017 et que le numéro du mois est 7.

  12. Dans la colonne Colonne1, dans la première cellule de la grille, entrez 7/1/2017, puis appuyez sur Entrée.

    La machine virtuelle utilise les paramètres régionaux des États-Unis ; cette date est donc en fait le 1er juillet 2017. D’autres paramètres régionaux peuvent nécessiter un 0 avant la date.

  13. Notez que les cellules de la grille sont mises à jour avec des valeurs prédites.

    La fonctionnalité a prédit exactement que vous combinez des valeurs provenant des colonnes Year et MonthNumber.

  14. Notez également la formule présentée au-dessus de la grille de la requête.

    Image 5679

  15. Pour renommer la nouvelle colonne, double-cliquez sur l’en-tête de colonne Fusionné et renommez la colonne TargetMonth.

  16. Supprimez les colonnes suivantes :

    • Year
    • MonthNumber
  17. Modifiez les types de données des colonnes suivantes :

    • Target en Nombre décimal fixe
    • TargetMonth en Date
  18. Pour multiplier les valeurs de Targets par 1000, sélectionnez l’en-tête de colonne Target puis, sous l’onglet de ruban Transformer, dans le groupe Colonne Nombre, sélectionnez Standard, puis Multiplier.

    Rappelez-vous : les valeurs cibles ont été stockées sous forme de milliers.

    Image 5682

  19. Dans la fenêtre Multiplier, dans la zone Valeur, entrez 1000 et sélectionnez OK.

  20. Dans la barre d’état, vérifiez que la requête a bien 3 colonnes et 809 lignes.

Configurer la requête ColorFormats

Dans cette tâche, vous allez configurer la requête ColorFormats.

  1. Sélectionnez la requête ColorFormats et notez que la première ligne contient les noms de colonnes.

  2. Sous l’onglet du ruban Accueil, dans le groupe Transformer, sélectionnez Utiliser la première ligne pour les en-têtes.

    Image 5688

  3. Dans la barre d’état, vérifiez que la requête a bien 3 colonnes et 10 lignes.

Mettre à jour la requête Product

Dans cette tâche, vous allez mettre à jour la requête Product en fusionnant la requête ColorFormats.

  1. Sélectionnez la requête Product.

  2. Pour fusionner la requête ColorFormats, sous l’onglet du ruban Accueil, sélectionnez la flèche vers le bas Combiner, puis Fusionner des requêtes.

    La fusion de requêtes permet d’intégrer des données, provenant dans le cas présent de différentes sources de données (SQL Server et un fichier CSV).

    Image 5654

  3. Dans la fenêtre Fusionner, dans la grille de la requête Product, sélectionnez l’en-tête de colonne Color.

    Image 5655

  4. Sous la grille de la requête Product, dans la liste déroulante, sélectionnez la requête ColorFormats.

    Image 21

  5. Dans la grille de la requête ColorFormats, sélectionnez l’en-tête de colonne Color.

  6. Quand la fenêtre Niveaux de confidentialité s’ouvre, pour chacune des deux sources de données, dans la liste déroulante correspondante, sélectionnez Organisationnel, puis Enregistrer.

    Des niveaux de confidentialité peuvent être configurés pour la source de données afin de déterminer si les données peuvent être partagées entre les sources. La définition de chaque source de données sur Organisationnel leur permet de partager des données si nécessaire. Les sources de données privées ne peuvent jamais être partagées avec d’autres sources de données. Cela ne signifie pas que les données privées ne peuvent pas être partagées, mais que le moteur de Power Query ne peut pas partager des données entre les sources.

    Image 5691

  7. Dans la fenêtre Fusion, utilisez le Type de jointure par défaut : conservez la sélection Externe gauche, puis sélectionnez OK.

  8. Développez la colonne ColorFormats pour inclure les deux colonnes suivantes :

    • Background Color Format (Format de couleur d’arrière-plan)
    • Font Color Format (Format de couleur de police)
  9. Dans la barre d’état, vérifiez que la requête a maintenant 8 colonnes et 397 lignes.

Mettre à jour la requête ColorFormats

Dans cette tâche, vous allez mettre à jour ColorFormats de façon à désactiver son chargement.

  1. Sélectionnez la requête ColorFormats.

  2. Dans le volet Paramètres de la requête, sélectionnez le lien Toutes les propriétés.

    Image 322

  3. Dans la fenêtre Propriétés de la requête, décochez la case Activer le chargement vers le rapport.

    La désactivation de la charge signifie qu’elle ne sera pas chargée en tant que table dans le modèle de données. Cela est dû au fait que la requête a été fusionnée avec la requête Product, qui est activée pour être chargée dans le modèle de données.

    Image 323

Terminer

Dans cette tâche, vous allez terminer le labo.

  1. Vérifiez que vous avez huit requêtes, correctement nommées comme suit :

    • Salesperson
    • SalespersonRegion
    • Product
    • Reseller
    • Region
    • Sales
    • Targets
    • ColorFormats (qui ne sera pas chargée dans le modèle de données)
  2. Pour charger le modèle de données, en mode Backstage Fichier, sélectionnez Fermer et appliquer.

    Toutes les requêtes dont le chargement est activé sont maintenant chargées dans le modèle de données.

    Image 326

  3. Dans le volet Données (situé à droite), notez les sept tables chargées dans le modèle de données.

    Image 3

  4. Enregistrez le fichier Power BI Desktop.

Vous configurerez les tables et les relations du modèle de données dans le labo Modéliser les données dans Power BI Desktop (partie 1) .