Mini -Projet
Maven Market est une chaîne d'épicerie multinationale présente au Canada, au Mexique et aux États-
Unis.
On vous demande de travailler sur l'ensemble du flux de travail de business intelligence : connexion
et mise en forme des données sources, création d'un modèle relationnel, ajout de colonnes et de
mesures calculées et conception d'un rapport interactif .
Maven_Market.png (logo Maven Market)
Maven Market CSV Files.zip (dossier zippé contenant les 8 fichiers CSV dont vous aurez
besoin pour créer votre rapport)
1
Part 1
Ouvrez un nouveau fichier Power BI Desktop et procédez comme suit :
1) Mettez à jour vos options et paramètres Power BI comme suit :
Désélectionnez l'option " Détecter automatiquement les nouvelles relations après le
chargement des données " dans l' onglet Chargement des données
Assurez-vous que les paramètres régionaux pour l'importation sont définis sur « Anglais
(États-Unis) » dans l' onglet Paramètres régionaux.
2) Connectez-vous au fichier csv MavenMarket_Customers
Nommez la table « Clients », et assurez-vous que les en-têtes ont été promus
Confirmez que les types de données sont exacts ( Remarque : " customer_id " doit être des
nombres entiers, et " customer_acct_num " et " customer_postal_code " doivent être du texte).
Ajoutez une nouvelle colonne nommée " full_name " pour fusionner les colonnes
" first_name " et " last_name " , séparées par un espace
Créez une nouvelle colonne nommée " birth_year" pour extraire l'année de la colonne
" birthdate" et formatez-la sous forme de texte
Créez une colonne conditionnelle nommée " has_children " qui est égale à " N " si
" total_children " = 0, sinon " Y "
3) Connectez-vous au fichier csv MavenMarket_Products
Nommez la table « Produits » et assurez-vous que les en-têtes ont été promus
Confirmez que les types de données sont exacts ( Remarque : " product_id " doit être des
nombres entiers, " product_sku " doit être du texte), " product_retail_price " et
" product_cost " doivent être des nombres décimaux.)
Utilisez les outils statistiques pour renvoyer le nombre de marques de produits distinctes, suivi
de noms de produits distincts
o Vérification ponctuelle : vous devriez voir 111 marques et 1 560 noms de produits
Ajoutez une colonne calculée nommée " discount_price ", égale à 90 % du prix de détail
d'origine
o Formatez sous forme de nombre décimal fixe, puis utilisez l'outil d'arrondi pour
arrondir à 2 chiffres.
Sélectionnez " product_brand " et utilisez l' option Group By pour calculer le prix de détail
moyen par marque, puis nommez la nouvelle colonne " Avg Retail Price " .
o Vérification ponctuelle : vous devriez voir un prix de détail moyen de 2,18 $ pour
les produits Washington et de 2,21 $ pour le ruban vert.
Supprimez la dernière étape appliquée pour ramener la table à son état pré-groupé
Remplacez les valeurs « null » par des zéros dans les colonnes « recyclable » et « faible en
gras ».
4) Connectez-vous au fichier csv MavenMarket_Stores
Nommez la table " Stores " et assurez-vous que les en-têtes ont été promus
Confirmez que les types de données sont exacts ( Remarque : " store_id » et « region_id »
doivent être des nombres entiers )
Ajoutez une colonne calculée nommée " full_address ", en fusionnant " store_city ",
" store_state " et " store_country ", séparés par une virgule et un espace ( indice : utilisez un
séparateur personnalisé )
2
Ajoutez une colonne calculée nommée " area_code ", en extrayant les caractères avant le tiret
("-") dans le champ " store_phone "
5) Connectez-vous au fichier csv MavenMarket_Regions
Nommez la table « Régions » et assurez-vous que les en-têtes ont été promus
Confirmez que les types de données sont exacts ( Remarque : « region_id » doit être des
nombres entiers)
6) Connectez-vous au fichier csv MavenMarket_Calendar
Nommez la table " Calendrier " et assurez-vous que les en-têtes ont été promus
Utilisez les outils de date dans l'éditeur de requête pour ajouter les colonnes suivantes :
o Début de semaine (à partir du dimanche
o Nom du jour
o Début du mois
o Nom du mois
o Trimestre d'année
o Année
7) Connectez-vous au fichier csv MavenMarket_Returns
Nommez la table " Return_Data " et assurez-vous que les en-têtes ont été promus
Confirmez que les types de données sont exacts (toutes les colonnes d'ID et la
quantité doivent être des nombres entiers)
8) Ajoutez un nouveau dossier sur votre bureau (ou dans vos documents) nommé " MavenMarket
Transactions ", contenant à la fois les fichiers
csv MavenMarket_Transactions_1997 et MavenMarket_Transactions_1998 .
Connectez-vous au chemin du dossier et choisissez "Modifier" ( vs. Combiner et Modifier )
Cliquez sur l'en-tête de colonne " Contenu " (icône à double flèche) pour combiner les
fichiers, puis supprimez la colonne " Source.Nom "
Nommez la table " Transaction_Data " et confirmez que les en-têtes ont été promus
Confirmez que les types de données sont exacts (toutes les colonnes d'ID et la
quantité doivent être des nombres entiers)
o Vérification ponctuelle : vous devriez voir les données du 1/1/1997 au 30/12/1998
dans la colonne "transaction_date"
9) À l'exception des deux tableaux de données, désactivez « Inclure dans l'actualisation du rapport »,
puis fermez et appliquez.
Confirmez que les 7 tables sont désormais accessibles dans
les vues RELATIONSHIPS et DATA.
10) Enregistrez votre fichier .pbix ( c'est-à-dire " MavenMarket_Report " )
3
Part 2
À l'aide du rapport que vous avez créé dans la partie 1, procédez comme suit :
1) Dans la vue RELATIONSHIPS , organisez vos tables avec les tables de recherche au-dessus des
tables de données
Connectez Transaction_Data aux Customers , Products et Stores à l'aide de clés
primaires/étrangères valides
Connectez Transaction_Data au calendrier en utilisant les deux champs de date, avec
une relation " stock_date " inactive
Connectez Return_Data aux Products , Calendar et Stores à l'aide de clés
primaires/étrangères valides
Connectez les magasins aux régions sous forme de schéma « flocon de neige »
2) Confirmez ce qui suit :
Toutes les relations suivent une cardinalité un-à-plusieurs , avec des clés primaires (1) du
côté recherche et des clés étrangères (*) du côté données.
Les filtres sont tous unidirectionnels (pas de filtres bidirectionnels)
Filtrer les flux de contexte « en aval » des tables de recherche vers les tables de données
Les tables de données sont connectées via des tables de recherche partagées ( pas
directement les unes aux autres )
3) Masquez toutes les clés étrangères dans les deux tables de données de la vue Rapport, ainsi que
" region_id " de la table Stores .
4) Dans la vue DATA , complétez ce qui suit :
Mettez à jour tous les champs de date (dans toutes les tables) au format " M/d/yyyy " à l'aide
des outils de formatage de l' onglet Modélisation .
Mettez à jour " product_retail_price ", " product_cost " et " discount_price " au format Devise
($ anglais)
Dans le tableau Clients , catégorisez « customer_city » comme City ,
« customer_postal_code » comme Postal Code et « customer_country »
comme Country/Region
Dans la table Stores , catégorisez « store_city » comme City , « store_state » comme State
ou Province , « store_country » comme Country/Region et « full_address »
comme Address
5) Enregistrez votre fichier .pbix
4
Part 3
À l’aide de votre rapport de la partie 2, procédez comme suit :
1) Dans la vue DATA , ajoutez les colonnes calculées suivantes :
Dans le tableau Calendrier , ajoutez une colonne nommée " Week-end "
o Égal à " Y " pour les samedis ou dimanches (sinon " N ")
Dans le tableau Calendrier , ajoutez une colonne nommée " Fin du mois "
o Renvoie la dernière date du mois en cours pour chaque ligne
Dans le tableau Clients , ajoutez une colonne nommée " Âge actuel "
o Calcule l'âge actuel des clients à l'aide de la colonne " date de naissance " et de la
fonction AUJOURD'HUI()
Dans le tableau Clients , ajoutez une colonne nommée " Priorité "
o Équivaut à « Élevé » pour les clients propriétaires de logements et possédant des
cartes de membre Golden (sinon « Standard »)
Dans la table Customers , ajoutez une colonne nommée " Short_Country "
o Renvoie les trois premiers caractères du pays du client et les convertit en majuscules
Dans le tableau Clients , ajoutez une colonne nommée " Numéro de maison "
o Extrait tous les caractères/chiffres avant le premier espace dans la colonne
" customer_address " ( indice : utilisez SEARCH )
Dans le tableau Produits , ajoutez une colonne nommée " Price_Tier "
o Équivaut à « Élevé » si le prix de détail est > 3 $ , à « Moyen » si le prix de détail est
> 1 $ et à « Faible » dans le cas contraire.
Dans la table Stores , ajoutez une colonne nommée " Years_Since_Remodel "
o Calcule le nombre d'années entre la date actuelle (TODAY()) et la dernière date de
rénovation
2) Dans la vue RAPPORT , ajoutez les mesures suivantes ( attribuez aux tableaux comme bon vous
semble et utilisez une matrice pour correspondre aux valeurs de « vérification ponctuelle » )
Créez de nouvelles mesures nommées « Quantité vendue » et « Quantité retournée » pour
calculer la somme des quantités de chaque table de données.
o Vérification ponctuelle : vous devriez voir la quantité totale vendue = 833 489 et la
quantité totale retournée = 8 289.
Créez de nouvelles mesures nommées « Total des transactions » et « Total des retours »
pour calculer le nombre de lignes de chaque table de données
o Vérification ponctuelle : vous devriez voir 269 720 transactions et 7 087 retours
Créez une nouvelle mesure nommée « Taux de retour » pour calculer le ratio entre la
quantité retournée et la quantité vendue (format en %).
o Vérification ponctuelle : vous devriez voir un taux de retour global de 0,99 %
Créez une nouvelle mesure nommée " Weekend Transactions " pour calculer les transactions
le week-end
o Vérification ponctuelle : vous devriez voir un total de 76 608 transactions le week-
end
Créez une nouvelle mesure nommée « % de transactions du week-end » pour calculer les
transactions du week-end en pourcentage du total des transactions (format en %).
o Vérification ponctuelle : vous devriez voir 28,4 % de transactions le week-end
Créez de nouvelles mesures nommées « Toutes les transactions » et « Tous les retours »
pour calculer le total général des transactions et des retours (quel que soit le contexte du
filtre).
5
o Vérification ponctuelle : vous devriez voir 269 720 transactions
et 7 087 retours sur toutes les lignes (test avec product_brand sur les lignes)
Créez une nouvelle mesure pour calculer le « Revenu total » en fonction de la quantité de
transaction et du prix de détail du produit, et formatez-la en $ ( indice : vous aurez besoin
d'un itérateur ) .
o Vérification ponctuelle : vous devriez voir un revenu total de 1 764 546 $
Créez une nouvelle mesure pour calculer le « coût total » en fonction de la quantité de
transaction et du coût du produit, et formatez-la en $ ( indice : vous aurez besoin d'un
itérateur ).
o Vérification ponctuelle : vous devriez voir un coût total de 711 728 $.
Créez une nouvelle mesure nommée " Bénéfice total " pour calculer le revenu total moins le
coût total et formatez-la en $.
o Vérification ponctuelle : vous devriez constater un bénéfice total de 1 052 819 $
Créez une nouvelle mesure pour calculer la « marge bénéficiaire » en divisant le bénéfice
total par le chiffre d'affaires total, calculez le chiffre d'affaires total (format en %).
o Vérification ponctuelle : vous devriez constater une marge bénéficiaire globale
de 59,67 %
Créez une nouvelle mesure nommée " Produits uniques " pour calculer le nombre de noms de
produits uniques dans la table Produits
o Vérification ponctuelle : vous devriez voir 1 560 produits uniques
Créez une nouvelle mesure nommée « Revenu cumulatif » pour calculer le chiffre d'affaires
total depuis le début de l'année et formatez-la en $.
o Vérification ponctuelle : créez une matrice avec « Début du mois » sur les
lignes ; vous devriez voir 872 924 $ de revenus depuis le début de l'année en
septembre 1998.
Créez une nouvelle mesure nommée « Revenu sur 60 jours » pour calculer le total des
revenus cumulés sur une période de 60 jours et formatez-la en $.
o Vérification ponctuelle : créez une matrice avec « date » sur les lignes ; vous
devriez voir 97 570 $ de revenus sur 60 jours le 14/04/1997
Créez de nouvelles mesures nommées « Transactions du mois dernier », « Revenus du
mois dernier », « Bénéfice du mois dernier » et « Retours du mois dernier »
o Vérification ponctuelle : créez une matrice avec « Début du mois » sur les lignes
pour confirmer l'exactitude
Créez une nouvelle mesure nommée « Objectif de revenus » basée sur une augmentation de
5 % par rapport aux revenus du mois précédent, et formatez-la en $.
o Vérification ponctuelle : vous devriez voir un objectif de revenus de 99 223 $ en
mars 1998.
6
Part 4
Pour la phase finale du projet, vous pouvez soit suivre les instructions pour recréer le rapport ci-
dessous, soit concevoir votre propre version – à vous de choisir !
1) Renommez l'onglet " Topline Performance " et insérez le logo Maven Market
2) Insérez un visuel matriciel pour afficher le total des transactions , le bénéfice total , la marge
bénéficiaire et le taux de retour par Product_Brand ( sur les lignes ).
Ajoutez une mise en forme conditionnelle pour afficher des barres de données dans la
colonne Total des transactions et des échelles de couleurs sur la marge bénéficiaire ( du blanc
au vert ) et le taux de retour ( du blanc au rouge ).
Ajoutez un filtre Top N au niveau visuel pour afficher uniquement les 30 principales
marques de produits, puis triez par ordre décroissant par nombre total de transactions.
3) Ajoutez une carte KPI pour afficher le total des transactions , avec le début du mois comme axe
de tendance et les transactions du mois dernier comme objectif cible.
Mettez à jour le titre en « Transactions du mois en cours » et formatez-le comme bon vous
semble.
Créez deux copies supplémentaires : une pour le bénéfice total ( par rapport au profit du
mois dernier ) et une pour les rendements totaux ( par rapport aux rendements du mois
dernier ).
o Assurez-vous de mettre à jour les titres et de modifier le tableau des retours en code
couleur sur « Low is Good »
4) Ajoutez un visuel de carte pour afficher le total des transactions par ville du magasin
Ajouter un slicer pour le pays du magasin
7
o Dans le menu "Contrôles de sélection" dans le volet de formatage, activez l' option
" Afficher tout sélectionner "
o Conseil de pro : modifiez l'orientation dans le menu de formatage "Général"
en horizontal et redimensionnez-la pour créer une pile verticale (plutôt qu'une liste).
5) À côté de la carte, ajoutez un visuel Treemap pour ventiler le total des transactions par pays de
magasin.
Insérez store_state et store_city sous store_country dans le champ "Groupe" pour activer
les fonctionnalités d'exploration vers le haut et vers le bas.
6) Sous la carte, ajoutez un graphique à colonnes pour afficher le revenu total par semaine et
formatez-le comme bon vous semble.
Ajouter un filtre au niveau du rapport pour afficher uniquement les données de 1998
Mettre à jour le titre en « Tendances des revenus hebdomadaires »
7) En bas à droite, ajoutez un graphique de jauge pour afficher le revenu total par rapport
à l'objectif de revenu ( en tant que « valeur cible » ou « valeur maximale » ).
Ajoutez un filtre Top N au niveau visuel pour afficher le dernier début du mois
Supprimez les étiquettes de données et mettez à jour le titre en « Revenu par rapport à
l'objectif »
8) Sélectionnez la Matrice et activez l' option Modifier les interactions pour empêcher le filtrage du
Treemap
9) Sélectionnez " USA " dans le slicer de pays et explorez pour sélectionner " Portland " dans le
Treemap
Ajoutez un nouveau signet nommé " Portland 1000 Sales "
Ajouter une nouvelle page de rapport, nommée " Notes "
Insérez une zone de texte et écrivez quelque chose du genre " Portland atteint 1 000 ventes en
décembre " .
Ajoutez un bouton (de votre choix) et utilisez les propriétés " Action " pour le lier au signet
que vous avez créé
Testez le signet en faisant CTRL-clic sur le bouton
Trouvez 2 à 3 informations supplémentaires dans l'onglet Topline Performance et ajoutez de
nouveaux signets et notes avec des liens vers l'arrière.