Formation Power BI pour les Douanes du Bénin
Organisme : SAV CONSEIL | Durée : 5 jours (35 heures) | Année : 2026
Formateur principal : Aurélien BETBEUI KWANDJEU | Expert appui : Gildas DJIMADJA
Programme de la formation
| Jour | Module | Durée | Objectifs clés |
|---|---|---|---|
| Jour 1 | Introduction et Fondamentaux | 7h | Maîtriser l'environnement Power BI et importer des données douanières |
| Jour 2 | Transformation et Modélisation | 7h | Nettoyer, transformer et structurer un modèle de données en étoile |
| Jour 3 | DAX - Calculs et Mesures | 7h | Créer des indicateurs métier douaniers avec le langage DAX |
| Jour 4 | Visualisations et Dashboards | 7h | Concevoir 4 tableaux de bord décisionnels |
| Jour 5 | Publication et Sécurité | 7h | Publier, sécuriser (RLS) et administrer les rapports |
Fichiers de données fournis
| Fichier | Description | Volume |
|---|---|---|
| declarations.csv | Déclarations en douane (2024-2025) | ~5 000 lignes |
| operateurs.csv | Opérateurs économiques | ~200 lignes |
| tarif_douanier.csv | Tarif Extérieur Commun CEDEAO | ~133 lignes |
| bureaux.csv | Bureaux de douane du Bénin | 12 lignes |
| controles.csv | Résultats des contrôles | ~1 500 lignes |
| infractions.csv | Infractions détectées | ~200 lignes |
| recettes.csv | Recettes journalières par bureau | ~8 700 lignes |
| transit.csv | Suivi des marchandises en transit | ~725 lignes |
| exonerations.csv | Exonérations accordées | ~400 lignes |
| calendrier.csv | Table de dates (dimension temporelle) | 731 lignes |
Architecture globale de la formation
Module 1 : Introduction et Fondamentaux de Power BI
Jour 1 - 7 heures
Module 1 : Introduction et Fondamentaux de Power BI
Durée : 7 heures | Prérequis : Maîtrise d'Excel niveau intermédiaire
Objectifs pédagogiques
- Comprendre les enjeux de la Business Intelligence pour les douanes
- Connaître l'écosystème complet de Power BI
- Installer et configurer Power BI Desktop
- Maîtriser l'interface utilisateur
- Se connecter à différentes sources de données
- Créer ses premiers visuels
1.1 Contexte et enjeux de la data pour les Douanes
Pourquoi la donnée est stratégique pour les douanes béninoises
Les douanes du Bénin jouent un rôle crucial dans l'économie nationale. Elles représentent environ 60% des recettes budgétaires de l'État. Dans ce contexte, la capacité à analyser efficacement les données douanières devient un levier stratégique pour :
- Optimiser les recettes : Identifier les fuites fiscales, suivre les objectifs de recouvrement en temps réel
- Lutter contre la fraude : Détecter les schémas de sous-évaluation, les fausses origines, les écarts de classification
- Faciliter le commerce : Réduire les temps de dédouanement, améliorer l'expérience des opérateurs
- Piloter la performance : Mesurer l'efficacité de chaque bureau, de chaque agent
- Anticiper : Prévoir les tendances d'importation/exportation, planifier les ressources
Défis actuels : données éparpillées
Aujourd'hui, les données douanières sont réparties dans plusieurs systèmes :
| Système | Données | Limites |
|---|---|---|
| SYDONIA (ASYCUDA) | Déclarations, liquidations, manifestes | Rapports prédéfinis, peu flexibles |
| Fichiers Excel | Rapports manuels, statistiques | Non centralisés, versions multiples |
| Documents papier | PV de contrôle, contentieux | Non numérisés, difficiles à exploiter |
| Applications internes | RH, logistique | Silos de données |
Pyramide de la valeur des données
Exemples internationaux
- Douanes du Rwanda : Réduction de 70% du temps de dédouanement grâce à l'analyse de risques automatisée
- Douanes de Corée du Sud : Système de ciblage intelligent basé sur les données historiques
- Douanes du Maroc : Tableaux de bord en temps réel pour le suivi des recettes
- OMA (Organisation Mondiale des Douanes) : Recommande l'utilisation de la BI pour la gestion des risques
1.2 Écosystème Power BI
Power BI est une suite d'outils de Business Intelligence développée par Microsoft. Elle comprend plusieurs composants complémentaires :
| Composant | Type | Usage | Coût |
|---|---|---|---|
| Power BI Desktop | Application Windows | Création de rapports et modèles de données | Gratuit |
| Power BI Service | Cloud (app.powerbi.com) | Publication, partage, collaboration | Gratuit / Pro / Premium |
| Power BI Mobile | iOS / Android | Consultation en mobilité | Gratuit |
| Power BI Report Server | On-premise | Publication sur serveur interne | Licence Premium |
| Power BI Embedded | API / Développeur | Intégration dans des applications | Licence Embedded |
Architecture de l'écosystème Power BI
1.3 Installation et configuration
Téléchargement et installation
Configuration des paramètres régionaux
- Format de date : JJ/MM/AAAA
- Séparateur décimal : virgule (,)
- Séparateur de milliers : espace
1.4 Interface Power BI Desktop
L'interface de Power BI Desktop est organisée en plusieurs zones. Familiarisez-vous avec chacune d'elles :
Interface de Power BI Desktop
Les 3 vues de Power BI Desktop
| Vue | Icône | Usage |
|---|---|---|
| Vue Rapport | Graphique | Créer et organiser les visuels sur des pages. C'est la vue principale. |
| Vue Données | Tableau | Voir les données brutes de chaque table. Utile pour vérifier les transformations. |
| Vue Modèle | Diagramme | Voir et gérer les relations entre les tables. Essentielle pour la modélisation. |
Détail du ruban - Onglet Accueil
| Groupe | Boutons | Fonction |
|---|---|---|
| Données | Obtenir les données, Sources récentes | Importer des données de différentes sources |
| Transformer | Transformer les données | Ouvrir Power Query pour nettoyer les données |
| Calculs | Nouvelle mesure, Nouvelle colonne, Nouvelle table | Créer des formules DAX |
| Mise en forme | Thème, Changer l'arrière-plan | Personnaliser l'apparence du rapport |
| Publier | Publier | Envoyer le rapport sur Power BI Service |
1.5 Première connexion aux données
Types de sources supportées
Power BI peut se connecter à plus de 150 sources de données différentes :
| Catégorie | Exemples | Pertinence Douanes |
|---|---|---|
| Fichiers | CSV, Excel, JSON, XML, PDF | Exports SYDONIA, rapports Excel existants |
| Bases de données | SQL Server, Oracle, PostgreSQL, MySQL | Base SYDONIA, systèmes internes |
| Services en ligne | SharePoint, Dynamics 365, Google Analytics | Collaboration, CRM |
| Autres | API REST, OData, dossiers | API SYDONIA, données externes |
Mode Import vs DirectQuery
| Critère | Import | DirectQuery |
|---|---|---|
| Données | Copiées dans Power BI | Restent à la source |
| Performance | Rapide (données en mémoire) | Dépend de la source |
| Taille max | 1 Go (gratuit) / 10 Go (Pro) | Pas de limite |
| Actualisation | Programmée (8x/jour) | Temps réel |
| DAX | Toutes fonctions | Certaines limites |
| Recommandation | Pour la formation, utilisez toujours le mode Import | |
Importer un fichier CSV : pas à pas
data/ et sélectionnez declarations.csv- Délimiteur : Point-virgule (;) - modifier si nécessaire
- Encodage : UTF-8 (65001)
- Détection du type : Basée sur les 200 premières lignes
1.6 Travaux Pratiques Guidés
TP1 : Importer declarations.csv
data/declarations.csv- Date_Declaration → type Date
- Valeur_Declaree_CFA → type Nombre entier
- Temps_Traitement_Heures → type Nombre décimal
- Les colonnes ID → type Texte
TP2 : Importer operateurs.csv
data/operateurs.csv- Date_Agrement → Date
- Score_Risque → Nombre entier
- Nombre_Infractions_3ans → Nombre entier
TP3 : Importer tarif_douanier.csv
TP4 : Importer bureaux.csv
data/bureaux.csvTP5 : Vérifier les types de données
TP6 : Premier visuel - Déclarations par bureau
TP7 : Tableau croisé des valeurs par régime
1.7 Exercices Autonomes
- controles.csv (1 500 lignes)
- infractions.csv (~200 lignes)
- transit.csv (~725 lignes)
- exonerations.csv (~400 lignes)
- recettes.csv (~8 700 lignes)
- calendrier.csv (731 lignes)
- Un graphique en secteurs (camembert) des régimes douaniers
- Un graphique en courbes de l'évolution des déclarations par mois
- Une carte KPI montrant le total des droits de douane
1.8 QCM - Module 1 (ICDL Power BI)
Module 2 : Transformation et Modélisation des Données
Jour 2 - 7 heures | Prérequis : QCM Module 1 réussi (≥ 70%)
Module 2 : Transformation et Modélisation des Données
Durée : 7 heures | Prérequis : Module 1 complété
2.1 Introduction à Power Query
Qu'est-ce que Power Query ?
Power Query est le moteur de transformation de données intégré à Power BI. C'est votre "cuisine" où vous préparez les ingrédients (données brutes) avant de les servir (visualiser).
Power Query permet de :
- Nettoyer : supprimer les erreurs, les doublons, les valeurs nulles
- Transformer : changer les types, fractionner, fusionner des colonnes
- Enrichir : ajouter des colonnes calculées, fusionner des tables
- Automatiser : chaque étape est enregistrée et rejouée automatiquement
Pipeline de transformation Power Query
Ouvrir Power Query
Le langage M (introduction)
Chaque étape Power Query génère du code dans le langage M (Mashup). Vous n'avez pas besoin de l'écrire, mais le comprendre aide :
let
Source = Csv.Document(File.Contents("declarations.csv"), [Delimiter=";", Encoding=65001]),
#"En-tetes promus" = Table.PromoteHeaders(Source),
#"Type modifie" = Table.TransformColumnTypes(#"En-tetes promus", {
{"Date_Declaration", type date},
{"Valeur_Declaree_CFA", Int64.Type}
})
in
#"Type modifie"
2.2 Opérations de nettoyage
Supprimer les colonnes inutiles
Renommer les colonnes
Double-cliquez sur l'en-tête de colonne pour la renommer. Utilisez des noms explicites en français :
| Nom original | Nom renommé |
|---|---|
| Valeur_Declaree_CFA | Valeur déclarée (CFA) |
| Temps_Traitement_Heures | Temps de traitement (h) |
| Nombre_Infractions_3ans | Infractions (3 ans) |
Modifier les types de données
- Dates : Date
- Montants CFA : Nombre entier (pas de décimales en CFA)
- Codes (SH, Bureau, Opérateur) : Texte
- Pourcentages : Nombre décimal
Gérer les valeurs nulles
- Remplacer les valeurs : Clic droit sur la colonne > Remplacer les valeurs > "null" par une valeur par défaut
- Supprimer les lignes : Accueil > Supprimer les lignes > Supprimer les lignes vides
- Filtrer : Cliquez sur la flèche de filtre de la colonne, décochez "(null)"
Supprimer les doublons
2.3 Transformations avancées
Fractionnement de colonnes
Utile pour extraire le chapitre du Code SH :
Colonnes conditionnelles
Créer une catégorisation des montants des déclarations :
- Si Valeur_Declaree_CFA < 5 000 000 alors "Petit"
- Si Valeur_Declaree_CFA < 50 000 000 alors "Moyen"
- Si Valeur_Declaree_CFA < 200 000 000 alors "Grand"
- Sinon "Très grand"
Regrouper les lignes
Créer un résumé des déclarations par bureau :
- Nombre_Declarations = Compter les lignes
- Total_Valeur = Somme de Valeur_Declaree_CFA
- Moyenne_Valeur = Moyenne de Valeur_Declaree_CFA
2.4 Fusion et ajout de requêtes
Fusion (Merge) - Types de jointures
Types de jointures
Cas pratique : Fusionner declarations + tarif_douanier
2.5 Modélisation des données
Le modèle en étoile (Star Schema)
Le modèle en étoile est la meilleure pratique pour Power BI. Il se compose de :
- Table de faits (au centre) : contient les mesures numériques et les clés étrangères. C'est la table la plus volumineuse. Exemple : declarations
- Tables de dimensions (autour) : contiennent les attributs descriptifs. Exemples : bureaux, operateurs, tarif_douanier, calendrier
Modèle en étoile - Douanes du Bénin
Création des relations
| De (Dimension) | Vers (Fait) | Clé | Cardinalité |
|---|---|---|---|
| bureaux | declarations | Bureau_ID | 1:N |
| operateurs | declarations | Operateur_ID | 1:N |
| tarif_douanier | declarations | Code_SH | 1:N |
| calendrier | declarations | Date / Date_Declaration | 1:N |
| declarations | controles | ID_Declaration | 1:N |
| declarations | infractions | ID_Declaration | 1:N |
| declarations | transit | ID_Declaration | 1:N |
| declarations | exonerations | ID_Declaration | 1:N |
| bureaux | recettes | Bureau_ID | 1:N |
2.6 Travaux Pratiques
TP1 : Nettoyer declarations dans Power Query
TP2 : Construire le modèle complet
2.7 QCM - Module 2 (ICDL Power BI)
Module 3 : DAX - Calculs et Mesures pour l'Analyse Douanière
Jour 3 - 7 heures | Prérequis : QCM Module 2 réussi (≥ 70%)
Module 3 : DAX - Calculs et Mesures pour l'Analyse Douanière
Durée : 7 heures | Prérequis : Modules 1-2 complétés
3.1 Introduction au DAX
Qu'est-ce que le DAX ?
DAX (Data Analysis Expressions) est le langage de formules de Power BI. Il ressemble à Excel mais est beaucoup plus puissant pour l'analyse de données à grande échelle.
Colonnes calculées vs Mesures
| Critère | Colonne calculée | Mesure |
|---|---|---|
| Calcul | Ligne par ligne | Agrégation dynamique |
| Stockage | Stockée dans la table (mémoire) | Calculée à la volée |
| Contexte | Contexte de ligne | Contexte de filtre |
| Usage | Catégorisation, clés composées | KPI, agrégations, % |
| Slicers | Peut être utilisée dans les slicers | Ne peut pas être dans un slicer |
| Règle d'or | Préférez les MESURES dans 90% des cas | |
Contexte de filtre vs contexte de ligne
3.2 Fonctions d'agrégation
Créons nos premières mesures. Pour créer une mesure :
Mesures de base
// Total des recettes (droits + taxes)
Total Recettes = SUM(declarations[Total_Liquide_CFA])
// Nombre de déclarations
Nb Declarations = COUNTROWS(declarations)
// Nombre d'opérateurs uniques
Nb Operateurs = DISTINCTCOUNT(declarations[Operateur_ID])
// Valeur moyenne par déclaration
Valeur Moyenne = AVERAGE(declarations[Valeur_Declaree_CFA])
// Valeur totale déclarée
Total Valeur Declaree = SUM(declarations[Valeur_Declaree_CFA])
// Total droits de douane
Total Droits Douane = SUM(declarations[Droits_Douane_CFA])
// Total TVA
Total TVA = SUM(declarations[TVA_CFA])
// Poids total en tonnes
Poids Total Tonnes = SUM(declarations[Poids_Kg]) / 1000
3.3 CALCULATE - La fonction reine
CALCULATE est la fonction la plus importante du DAX. Elle permet de modifier le contexte de filtre d'un calcul.
CALCULATE(<expression>, <filtre1>, <filtre2>, ...)
Exemples douaniers avec CALCULATE
// Recettes du Port de Cotonou uniquement
Recettes Port Cotonou =
CALCULATE(
SUM(declarations[Total_Liquide_CFA]),
bureaux[Nom_Bureau] = "Port de Cotonou"
)
// Déclarations en canal Rouge (haut risque)
Declarations Canal Rouge =
CALCULATE(
COUNTROWS(declarations),
declarations[Canal] = "Rouge"
)
// Montant des importations uniquement
Total Importations =
CALCULATE(
SUM(declarations[Valeur_Declaree_CFA]),
declarations[Regime_Douanier] = "IM4"
|| declarations[Regime_Douanier] = "IM7"
)
// Montant des exportations
Total Exportations =
CALCULATE(
SUM(declarations[Valeur_Declaree_CFA]),
declarations[Regime_Douanier] = "EX1"
)
// Déclarations contentieuses
Nb Contentieuses =
CALCULATE(
COUNTROWS(declarations),
declarations[Statut] = "Contentieuse"
)
// Pourcentage de déclarations contentieuses
% Contentieuses =
DIVIDE(
[Nb Contentieuses],
[Nb Declarations],
0
)
DIVIDE(numérateur, dénominateur, valeur_alternative) au lieu de l'opérateur /. DIVIDE gère automatiquement la division par zéro en retournant la valeur alternative (0 par défaut).
3.4 Fonctions logiques et texte
// Catégorisation du risque opérateur
Niveau Risque =
SWITCH(
TRUE(),
operateurs[Score_Risque] >= 70, "Haut",
operateurs[Score_Risque] >= 40, "Moyen",
"Bas"
)
// Indicateur atteinte objectif
Objectif Atteint =
IF(
[Total Recettes] >= SUM(bureaux[Objectif_Recettes_Annuel_CFA]),
"OUI",
"NON"
)
// Format montant en millions CFA
Recettes M CFA =
FORMAT([Total Recettes] / 1000000, "#,##0.0") & " M CFA"
3.5 Time Intelligence
Comprendre le YTD (Year-To-Date) : le cumul annuel
Le YTD répond à la question : "Depuis le 1er janvier, combien a-t-on cumulé au total ?"
Quand votre directeur demande "on en est où cette année ?", il veut le YTD, pas juste le mois en cours.
| Mois | Recettes du mois | Recettes YTD (cumul) | Explication |
|---|---|---|---|
| Janvier | 10 Mds | 10 Mds | Juste janvier |
| Février | 12 Mds | 22 Mds | 10 + 12 |
| Mars | 8 Mds | 30 Mds | 10 + 12 + 8 |
| Avril | 15 Mds | 45 Mds | 10 + 12 + 8 + 15 |
| Mai | 11 Mds | 56 Mds | 10 + 12 + 8 + 15 + 11 |
TOTALYTD fait cette addition automatiquement : il prend le 1er janvier, va jusqu'au mois que vous regardez, et additionne tout.
Comparer avec l'an dernier : YTD N-1
Le YTD seul ne suffit pas. Il faut comparer : "À la même date l'an dernier, on en était à combien ?"
| Mois | YTD 2025 | YTD 2024 (N-1) | Écart | Interprétation |
|---|---|---|---|---|
| Janvier | 10 Mds | 9 Mds | +11% | En avance |
| Février | 22 Mds | 20 Mds | +10% | En avance |
| Mars | 30 Mds | 31 Mds | -3% | Léger retard |
| Avril | 45 Mds | 40 Mds | +12% | Rattrapage ! |
- [Total Recettes] = "Combien ce mois-ci ?" (juste le mois)
- [Recettes N-1] = "Combien le même mois l'an dernier ?"
- [Recettes YTD] = "Combien depuis janvier jusqu'à maintenant ?" (cumul)
- [Recettes YTD N-1] = "Combien depuis janvier jusqu'à maintenant, mais l'an dernier ?"
- [Ecart YTD vs N-1] = "Est-on en avance ou en retard par rapport à l'an dernier ?"
Formules Time Intelligence
// Recettes de la même période l'année précédente
Recettes N-1 =
CALCULATE(
[Total Recettes],
SAMEPERIODLASTYEAR(calendrier[Date])
)
// Évolution en % par rapport à N-1
Evolution % N-1 =
DIVIDE(
[Total Recettes] - [Recettes N-1],
[Recettes N-1],
0
)
// Cumul annuel (Year-To-Date)
// Additionne les recettes depuis le 1er janvier jusqu'au mois en cours
// Ex: en Mars = Jan + Fév + Mars. En Avril = Jan + Fév + Mars + Avr
Recettes YTD =
TOTALYTD(
[Total Recettes],
calendrier[Date]
)
// Cumul annuel de l'année précédente (YTD N-1)
// Même cumul mais pour la même période l'an dernier
// Ex: Si on regarde Mars 2025, calcule Jan-Mars 2024
// Permet de comparer : "À la même date l'an dernier, on en était à combien ?"
Recettes YTD N-1 =
CALCULATE(
[Recettes YTD],
SAMEPERIODLASTYEAR(calendrier[Date])
)
// Écart YTD : progression par rapport à l'an dernier au même stade
Ecart YTD vs N-1 =
[Recettes YTD] - [Recettes YTD N-1]
// Écart YTD en pourcentage
Ecart YTD % vs N-1 =
DIVIDE(
[Ecart YTD vs N-1],
[Recettes YTD N-1],
0
)
// Cumul trimestriel (Quarter-To-Date)
Recettes QTD =
TOTALQTD(
[Total Recettes],
calendrier[Date]
)
// Moyenne mobile 3 mois
Moyenne Mobile 3M =
CALCULATE(
[Total Recettes] / 3,
DATESINPERIOD(
calendrier[Date],
MAX(calendrier[Date]),
-3,
MONTH
)
)
3.6 Fonctions de table et itérateurs
// Top 10 opérateurs par valeur importée
Est Top 10 Operateur =
IF(
RANKX(
ALL(operateurs),
[Total Valeur Declaree],
,
DESC
) <= 10,
"Top 10",
"Autre"
)
// Part de chaque bureau dans les recettes totales
% Part Recettes =
DIVIDE(
[Total Recettes],
CALCULATE([Total Recettes], ALL(bureaux)),
0
)
// Classement des bureaux par recettes
Rang Bureau =
RANKX(
ALL(bureaux),
[Total Recettes],
,
DESC,
Dense
)
// Écart moyen entre valeur déclarée et référence (%)
Ecart Moyen Valeur % =
AVERAGEX(
declarations,
DIVIDE(
declarations[Valeur_Reference_CFA] - declarations[Valeur_Declaree_CFA],
declarations[Valeur_Declaree_CFA],
0
)
)
3.7 Indicateurs KPI métier complets
// === RECETTES ===
// Taux de recouvrement
Taux Recouvrement =
DIVIDE(
SUM(recettes[Total_Recettes_CFA]),
SUM(recettes[Objectif_Journalier_CFA]),
0
)
// === FRAUDE ===
// Taux de fraude (montant)
Taux Fraude =
DIVIDE(
SUM(infractions[Montant_Fraude_CFA]),
[Total Valeur Declaree],
0
)
// Nombre d'infractions
Nb Infractions = COUNTROWS(infractions)
// === CONFORMITE ===
// Taux de conformité des contrôles
Taux Conformite =
DIVIDE(
CALCULATE(
COUNTROWS(controles),
controles[Resultat] = "Conforme"
),
COUNTROWS(controles),
0
)
// === PERFORMANCE ===
// Temps moyen de dédouanement (heures)
Temps Moyen Dedouanement =
AVERAGE(declarations[Temps_Traitement_Heures])
// === EXONERATIONS ===
// Manque à gagner total
Manque a Gagner =
SUM(exonerations[Droits_Non_Percus_CFA])
// === BALANCE COMMERCIALE ===
Balance Commerciale = [Total Importations] - [Total Exportations]
// === COMPARAISON ANNUELLE (YTD) ===
// Cumul des recettes depuis le 1er janvier jusqu'au mois en cours
// Ex: en Mars = Jan + Fév + Mars
Recettes YTD KPI =
TOTALYTD([Total Recettes], calendrier[Date])
// Même cumul mais l'année précédente
// Ex: si on regarde Mars 2025, calcule Jan-Mars 2024
Recettes YTD N-1 KPI =
CALCULATE(
[Recettes YTD KPI],
SAMEPERIODLASTYEAR(calendrier[Date])
)
// Progression par rapport à l'an dernier
Progression YTD % =
DIVIDE(
[Recettes YTD KPI] - [Recettes YTD N-1 KPI],
[Recettes YTD N-1 KPI],
0
)
3.8 QCM - Module 3 (ICDL Power BI)
Module 4 : Visualisations et Tableaux de Bord Décisionnels
Jour 4 - 7 heures | Prérequis : QCM Module 3 réussi (≥ 70%)
Module 4 : Visualisations et Tableaux de Bord Décisionnels
4.1 Principes de datavisualisation
Guide de sélection des visuels
4.2 Construction du Dashboard 1 : Suivi des Recettes
Maquette du Dashboard Recettes
Étapes de construction pas à pas
4.3 Construction du Dashboard 2 : Commerce Extérieur
4.4 Construction du Dashboard 3 : Gestion des Risques
4.5 Construction du Dashboard 4 : Performance Opérationnelle
4.6 QCM - Module 4 (ICDL Power BI)
Module 5 : Publication, Sécurité et Administration
Jour 5 - 7 heures | Prérequis : QCM Module 4 réussi (≥ 70%)
Module 5 : Publication, Sécurité et Administration
5.1 Power BI Service
Licences Power BI
| Licence | Prix | Partage | Capacité | Recommandation |
|---|---|---|---|---|
| Gratuit | 0 | Non | 1 Go/jeu de données | Usage personnel |
| Pro | ~10 USD/mois/utilisateur | Oui (entre Pro) | 1 Go | Équipes (5-50 utilisateurs) |
| Premium Per User | ~20 USD/mois | Oui | 100 Go | Analyses avancées |
| Premium Capacity | ~5000 USD/mois | Oui (même gratuits) | 100 To | Organisation entière |
5.2 Publication et partage
Publier depuis Desktop
Organisation des espaces de travail
| Espace de travail | Contenu | Accès |
|---|---|---|
| DG Douanes - Stratégique | KPI globaux, recettes nationales | DG, DGA, Directeurs |
| Direction Recettes | Suivi détaillé des recettes | Direction + chefs bureau |
| Direction Contrôle & Risques | Dashboards fraude et risques | Service contrôle |
| Commerce Extérieur | Statistiques import/export | Service statistiques |
| Bureau [Nom] | Rapports spécifiques au bureau | Personnel du bureau |
5.3 Sécurité au niveau des lignes (RLS)
La RLS permet de restreindre l'accès aux données selon l'utilisateur connecté. Un chef de bureau ne voit que les données de son bureau.
Architecture RLS - Douanes du Bénin
Configurer la RLS dans Power BI Desktop
[Bureau_ID] = "BUR001"
Attribuer les rôles dans le Service
5.4 Actualisation des données
Architecture avec Gateway
5.5 Gouvernance et bonnes pratiques
Conventions de nommage recommandées
| Élément | Convention | Exemple |
|---|---|---|
| Tables de faits | f_NomTable | f_Declarations |
| Tables de dimensions | d_NomTable | d_Bureaux |
| Mesures | Descriptif en français | Total Recettes, Taux Conformité |
| Colonnes calculées | _NomColonne | _Categorie_Valeur |
| Espaces de travail | Direction - Domaine | DG - Stratégique |
| Rapports | RPT_Domaine_Version | RPT_Recettes_v2.1 |
5.6 Projet Final Intégrateur
Sujet A : Tableau de bord du Directeur Général
Créez un dashboard de 2 pages maximum répondant aux questions : Quel est le niveau de recettes ? Sommes-nous en ligne avec les objectifs ? Quels sont les bureaux les plus/moins performants ? Quelle est la tendance ?
Sujet B : Analyse des risques pour le Service Contrôle
Créez un dashboard identifiant les opérateurs à risque, les types d'infractions les plus fréquents, les bureaux avec le plus d'anomalies, et les tendances de fraude.
Sujet C : Suivi du commerce extérieur pour les Statistiques
Créez un dashboard montrant la balance commerciale, les principaux partenaires, les produits clés, et l'évolution du transit.
Grille d'évaluation
| Critère | Points |
|---|---|
| Modèle de données correct (relations, types) | /20 |
| Mesures DAX pertinentes (min. 5 mesures) | /25 |
| Qualité des visualisations (choix, lisibilité) | /25 |
| Interactivité (filtres, segments, navigation) | /15 |
| Présentation et storytelling | /15 |
| Total | /100 |
5.7 QCM Final - Module 5 (ICDL Power BI)
5.8 Ressources pour aller plus loin
| Ressource | Description |
|---|---|
| Microsoft Learn | Parcours gratuits Power BI (certifications PL-300) |
| DAX.do | Bac à sable en ligne pour tester les formules DAX |
| SQLBI.com | Meilleure ressource pour le DAX avancé (Marco Russo, Alberto Ferrari) |
| Power BI Community | Forum d'entraide Microsoft |
| Guy in a Cube (YouTube) | Tutoriels vidéo hebdomadaires |
| Certification PL-300 | Certification Microsoft Power BI Data Analyst |