[vc_row][vc_column css= ».vc_custom_1538580427314{margin-bottom: 10px !important;} »][vc_custom_heading text= »Power BI est un outil décisionnel de visualisation interactive des données. Une fonctionnalité très puissante est la création de simulations. A travers un exemple simple, nous allons voir comment faire. » font_container= »tag:h2|text_align:left|color:__USE_THEME_MAIN_COLOR__ » use_theme_fonts= »yes »][/vc_column][/vc_row][vc_row][vc_column][vc_row_inner][/vc_row_inner][vc_column_text]
Présentation du cas et des données
Nous vous proposons de créer des simulations dans Power BI. Le cas utilisé est volontairement simple pour bien comprendre les tenants et aboutissants de simulations en utilisant des paramètres de scénarios.
Nous avons principalement deux tables :
- Les transactions comprenant une date, le produit, le pays, la quantité, le prix unitaire et le coût. Nous n’avons que deux produits (P1 et P2), deux pays (France et Espagne) et deux dates (01/01/2018 et 01/01/2019).
- Les pays avec notamment le taux de remise par pays et le lien vers une image.
Le troisième tableau est un tableau de travail pour la création d’un graphique en cascade utilisant plusieurs mesures. Cela pourra faire l’objet d’un article à part entière.
L’objectif de ce modèle est de pouvoir simuler une variation du taux de remise pour chaque pays et de voir l’impact sur les ventes nettes ainsi que sur la marge.[/vc_column_text][vc_single_image image= »12306″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »50px »][/vc_column][/vc_row][vc_row][vc_column css= ».vc_custom_1538580440339{margin-top: 10px !important;margin-bottom: 10px !important;} »][vc_column_text]
Création et présentation du modèle
Notre modèle comprend donc les trois requêtes présentées ci-dessus. Il comprend également une requête « DimDate » (classique pour un modèle Power BI). Pour simplifier, vous pourrez voir sur certaines images une table nommée « _Indicateurs » qui reprend l’ensemble des mesures créées.[/vc_column_text][vc_single_image image= »12307″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »10px »][vc_column_text]
Modélisation et relations
Les relations sont assez simples puisque la table de fait est donc la table Transaction et nous avons deux tables de dimensions : DimDate (la clé étant la date) et Remises (la clé étant le pays). Les deux autres tables visibles, à savoir Waterfall et _Indicateurs n’ont pas besoin d’être mises en relation. Elles servent uniquement pour les calculs.[/vc_column_text][vc_single_image image= »12308″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »10px »][vc_column_text]
Mesures
La majorité des mesures est standard par rapport à ce qu’on peut trouver sur Power BI. Toutefois, nous allons faire un petit zoom sur deux mesures en particuliers :
- Waterfall value car elle est utilisée pour créer le graphique en cascade. Vous trouverez ci-dessous la formule utilisée. le sujet étant ici la simulation, nous nous attarderons seulement sur le principe de fonctionnement de cette mesure.
- Remise valeur.
Nous revenons sur cette mesure. Pour la créer rapidement, nous avons d’abord ajouté une colonne dans la table transaction :
remise = RELATED(remises[Remise])
Remise valeur = SUMX(transactions;transactions[Quantité] * transactions[Prix unitaire] * transactions[remise])
[/vc_column_text][vc_single_image image= »12309″ img_size= »medium » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_column_text]Voici la mesure Waterfall value si vous souhaitez l’utiliser :[/vc_column_text][vc_single_image image= »12311″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_column_text]
Visualisation
Après avoir créé les relations puis l’ensemble des mesures, voici à quoi peut ressembler le tableau de bord avant mise en oeuvre de la partie simulation :[/vc_column_text][vc_single_image image= »12310″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »50px »][/vc_column][/vc_row][vc_row][vc_column css= ».vc_custom_1538580440339{margin-top: 10px !important;margin-bottom: 10px !important;} »][vc_column_text]
Que souhaite t-on simuler ?
L’objectif est de simuler une variation de la remise pour chaque pays. Ensuite nous devrons pouvoir visualiser directement l’impact sur le graphique en cascade. Les filtres sur les pays ou les produits devront toujours être fonctionnels.[/vc_column_text][vc_empty_space height= »50px »][/vc_column][/vc_row][vc_row][vc_column css= ».vc_custom_1538580440339{margin-top: 10px !important;margin-bottom: 10px !important;} »][vc_column_text]
Création de la simulation
Avant de créer la simulation, nous devons nous préparer au mieux. Pour cela, il est important de savoir si nos paramètres de scénarios seront fonctionnels. Nous allons donc préparer ce qu’il faut pour comparer et donc vérifier nos résultats.
Préambule : préparer la comparaison avec l’existant (ou le réel)
La première étape est de créer deux mesures. L’idée est d’avoir deux étiquettes visuelles contenant le taux de remise réel pour la France et celui de l’Espagne. Ils ne devront pas être modifiés afin que nous les ayons toujours visuellement. Cela nous permettra de comparer.
Voici les deux mesures à créer :
Remise FR = CALCULATE(VALUES(remises[Remise]);remises[Pays]="France")
Remise ES = CALCULATE(VALUES(remises[Remise]);remises[Pays]="Espagne")
Ensuite nous créons les étiquettes avec pour chacune la mesure créée.
[/vc_column_text][vc_single_image image= »12312″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »10px »][vc_column_text]
Nouveaux paramètres
Nous pouvons à présent nous lancer dans la création des simulation. Pour cela, il faut tout d’abord aller dans le ruban, onglet « Modélisation » et cliquer sur le bouton paramètres de scénarios comme présenté ci-dessous.[/vc_column_text][vc_single_image image= »12313″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_column_text]Remplissons ensuite le formulaire :
- Nom : Remise FR (puis Remise ES pour le paramètre suivant)
- Type de données : Entier (nous diviserons ensuite la valeur par 100 pour avoir un pourcentage)
- Minimum : 0
- Maximum : 100 (pourcentage de remise allant de 0% à 100%)
- Incrément : 5. L’image présente « 1 » mais il est préférable de mettre « 5 ». Si vous souhaitez modifier manuellement pour avoir une valeur non divisible par 5, vous pourrez saisir manuellement dans une zone texte.
- Par défaut : 0. J’ai mis « 0 » mais vous pouvez choisir les valeurs que vous souhaitez. Par exemple, mettez « 25 » pour la France et « 40 » pour l’Espagne pour utiliser les valeurs réelles.
- Cochez la case « Ajouter un segment à cette page ». C’est très important car cela va nous permettre de modifier ensuite graphiquement la valeur.
Refaites la même chose ensuite avec l’Espagne.[/vc_column_text][vc_single_image image= »12314″ img_size= »medium » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_column_text]Lorsque vous aurez validé, vous allez voir deux changements :
- Un segment a été ajouté sur l’écran de visualisation
- Dans les champs, vous pouvez voir deux nouvelles tables contenant un champs et une mesure.
[/vc_column_text][vc_single_image image= »12315″ img_size= »medium » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »10px »][vc_column_text]
Nouvelle mesures : Remise valeur simulée
Nous avons créé de nouveaux paramètres mais si vous modifiez les segments, il ne se passe rien. Pour cela, il faudrait modifier la mesure « Remise valeur ». Mais avant, nous allons vérifier que les calculs sont justes en créant une mesure intermédiaire :
Simu Remise val = SUMX(transactions;transactions[Quantité] * transactions[Prix unitaire] * IF(transactions[Pays]="France";'Remise FR'[Valeur Remise FR];'Remise ES'[Valeur Remise ES]) / 100)
[/vc_column_text][vc_empty_space height= »10px »][vc_column_text]
Comparer pour bien contrôler
Afin de vérifier que nos mesures sont justes, nous allons tout d’abord modifier nos segments de simulations. Pour cela, si ce n’est déjà fait, les aligner avec les données réelles :
- France : 25%
- Espagne : 40%
Ensuite, dans le tableau de valeur, ajoutez la mesure « Simu Remise valeur » à côté de la mesure « Remise valeur ». Jouez avec les différents filtres (sauf ceux de simulations). Les valeurs doivent être les même pour les deux mesures.
Enfin, modifier les segments de simulations, en les mettant tout d’abord à 0 tout les deux. Vérifiez le résultat sur le graphique : il n’y a plus de remise. Passez ensuite les deux valeurs à 100. Dans le tableau, le CA net est désormais à 0.[/vc_column_text][vc_single_image image= »12316″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_single_image image= »12317″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »10px »][vc_column_text]
Mise à jour de la mesure Remise valeur
Puisque les contrôles ont été effectués et validés, nous allons pouvoir modifier la mesure « Remise valeur » puis supprimer la mesure « Simu remise valeur ».
Remise valeur = SUMX(transactions;transactions[Quantité] * transactions[Prix unitaire] * if(transactions[Pays]="France";'Remise FR'[Valeur Remise FR];'Remise ES'[Valeur Remise ES]) / 100)
[/vc_column_text][vc_empty_space height= »10px »][vc_column_text]
Mise en forme de la visualisation
Il ne reste plus qu’à mettre en forme en faisant un peu de Dataviz, chacun avec sa part artistique 🎨 pour utiliser le modèle. Ci-dessous, vous trouverez ma version.[/vc_column_text][vc_single_image image= »12305″ img_size= »large » alignment= »center » onclick= »img_link_large » img_link_target= »_blank »][vc_empty_space height= »50px »][/vc_column][/vc_row][vc_row][vc_column css= ».vc_custom_1538580440339{margin-top: 10px !important;margin-bottom: 10px !important;} »][vc_column_text]
Présentation du résultat
Voici le tableau de bord directement incorporé à cet article. Il est interactif, vous pouvez facilement le manipuler pour voir comment les segments de simulation impactent le graphique en cascade.[/vc_column_text][vc_raw_html]JTNDaWZyYW1lJTIwd2lkdGglM0QlMjI4MDAlMjIlMjBoZWlnaHQlM0QlMjI2MDAlMjIlMjBzcmMlM0QlMjJodHRwcyUzQSUyRiUyRmFwcC5wb3dlcmJpLmNvbSUyRnZpZXclM0ZyJTNEZXlKcklqb2lNRFEyTURGa00yVXRZbUZqWXkwMFltWXlMV0ZqT0RJdE0yWTFZalpoWlRZeE1XTmhJaXdpZENJNkltUXhZakU1WldJMUxUWmxPVFF0TkROaE15MWlaR0kxTFdGa01UTTNZVFV6WWpVeE5TSXNJbU1pT2poOSUyMiUyMGZyYW1lYm9yZGVyJTNEJTIyMCUyMiUyMGFsbG93RnVsbFNjcmVlbiUzRCUyMnRydWUlMjIlM0UlM0MlMkZpZnJhbWUlM0U=[/vc_raw_html][vc_empty_space height= »50px »][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Conclusion
Nous avons donc vu comment créer des paramètres de simulation pour voir l’impact sur d’autres mesures. Lors de la création de simulations, le but est souvent de mettre en exergue des scénarios afin de prendre les meilleures décisions. La création d’un scénario s’apparente à du storytelling en s’appuyant sur les paramètres de simulations et la dataviz. Il est ainsi possible de créer des scénarios tout prêts pour des présentations, réunions et ainsi décider de façon collaborative.[/vc_column_text][/vc_column][/vc_row]