• Quelles sont les étapes du cycle analytique en BI?
• Quelle est la différence entre le BI stratégique, tactique et opérationnel?
• Quels les outils les plus appropriés pour ces types de BI?
• Étapes du cycle:
1. Surveiller les activités:
– Question: « Que se passe-t-il ? »;
– Ex: comparaison des résultats courants de l'entreprise avec ceux de la période précédente ou avec le plan d'affaires; – Applications typiques:
• Tableaux de bord, scorecards, rapports standards, etc.
2. Identifier des exceptions:
– Questions: « Y a-t-il des problèmes ? Où sont ces problèmes ? »;
– Ex: analyse des tendances de performance pour différentes régions, en regard de la performance moyenne;
– Applications typiques:
• Tableaux de bord, rapports paramétrables, alertes, etc.
3. Déterminer les causes:
– Question: « Pourquoi le problème survient-il ? »;
– Ex: identifier les relations et les interactions entre les variables ayant un impact sur le critère de performance;
– Peut nécessiter l’acquisition de sources additionnelles de données (ex: géographiques, démographiques, etc.); – Applications type: OLAP, forage de données, etc.
4. Modéliser les alternatives:
– Question: « Qu’adviendrait-il aux résultats si une certaine décision était prise? »;
– Ex: prédire les revenus et le taux de rétention des clients pour la prochaine année si telle promotion était lancée;
– Applications type: analyse prédictive, forage de données, etc.
5. Agir et faire le suivi des résultats:
– Prendre la décision la plus profitable à l’entreprise, selon les scénarios prédits à l’étape précédente;
– Mettre à jour les objectifs d’affaires pour correspondre à ceux du scénario sélectionné;
– Faire le suivi des résultats futurs en fonction de ces nouveaux objectifs d’affaires (étape 1 du prochain cycle).
• BI stratégique:
– Analyse les tendances d’affaires selon une métrique (ex: ventes);
– Concerne les objectifs à long-terme de l’entreprise; – S’applique surtout aux analystes d’affaires de l’entreprise;
• BI tactique:
– Fournit des métriques de performance (ex: scorecards); – Concerne les objectifs à court-terme de l’entreprise; – S’applique surtout aux gestionnaires et cadres supérieurs.
• BI opérationnel:
– Fournit du support informationnel aux points d’affaires de l’entreprise (ex: support à la clientèle);
– Concerne l’état opérationnel de l’entreprise.
Type d'application Type d'utilisation Type d'analyse
Requêtes à accès direct, reporting, data mining |
Rapports standards |
Applications analytiques |
Tableaux de bords et scorecards |
BI opérationnel |
Stratégique
Accès ad-hoc
Accès appuiboutons
Reporting
opérationnel Tactique
• Complexité et utilisation:
• Pourquoi la conception d’applications de BI est-elle importante?
• Quels sont les critères à considérer lors de la conception d’applications BI?
• Importance:
– La plupart des utilisateurs finaux ne voit que cette partie de l'entrepôt de données;
• Critères de conception:
– Validité: les applications doivent fournir de l'information correcte et précise aux utilisateurs;
– Performance: le délai de réponse aux requêtes des utilisateurs doit être court (ex: moins de 5 secondes);
– Convivialité: les utilisateurs moins expérimentés doivent pouvoir utiliser le système (ex: rapport en 10 clics ou moins);
– Apparence: l'interface des outils et rapports doit être attirant;
– Maintenabilité: les applications doivent être suffisamment documentées et un plan d'amélioration doit être en place.
• Quelles sont les principales caractéristiques des applications BI suivantes:
– Requêtes ad-hoc;
– Analyse multi-dimensionnelle (OLAP);
– Reporting;
– Tableaux de bord;
– Scorecards;
• À quels besoins répondent ces différentes applications?
• Gestion des requêtes:
– Définition des requêtes:
• Traduire les besoins d’affaires dans la syntaxe de requête (ex:
SQL, MDX, etc.).
– Simplification des requêtes:
• Rendre la complexité des données transparente aux utilisateurs (ex: définition de vues).
– Réécriture des requêtes:
• Transformer les requêtes pour tenir compte de l’emplacement des données (ex: BD différentes), et optimiser celles-ci pour accélérer leur exécution.
• Utiliser les tables de faits agrégées lorsque possible pour accélérer les requêtes.
• Gestion des requêtes (suite):
– Exécution des requêtes:
• Obtenir les résultats de manière efficace et sécuritaire. – Présentation des résultats:
• Offrir différentes manières de visualiser les résultats (ex: tableau croisé, graphique, etc.).
– Gouvernance des requêtes:
• Exemple de requête simple:
|
|
• Exemple de requête simple:
• Fonctions analytiques Oracle:
SELECT noClient, dateCommande, montant, SUM(montant) OVER ( PARTITION BY noClient ORDER BY dateCommande ROWS UNBOUNDED PRECEDING) AS montantCumulatifDuClient FROM Vente ORDER BY noClient, dateCommande NOCLIENT DATECOMMAN MONTANT MONTANTCUMULATIFDUCLIENT ------------------------------------------------------ 1 10/01/2000 100 100 1 15/01/2000 300 400 1 25/02/2000 100 500 1 04/03/2000 200 700 1 10/04/2000 200 900 1 15/04/2000 100 1000 1 05/06/2000 200 1200 2 10/01/2000 200 200 2 16/01/2000 200 400 2 20/02/2000 200 600 2 15/03/2000 500 1100 2 20/05/2000 200 1300 2 05/06/2000 100 1400 3 10/01/2000 500 500 3 15/01/2000 100 600 3 05/04/2000 200 800 3 06/04/2000 400 1200 3 25/05/2000 500 1700 4 20/02/2000 400 400 4 04/03/2000 300 700 4 15/03/2000 100 800 Montant cumulatif par client. Partition: Fonction appliquée par groupes de clients; ORDER BY et ROWS UNBOUNDED PRECEDING: Fonction appliquée dans une fenêtre allant de la ligne courante jusqu’au début de la table, où les lignes sont en ordre de date. Analyse multidimensionnelle• Caractéristiques: – Représente les données sous la forme d’un cube multidimensionnel(hypercube) où chaque coté est une dimension d’analyse et chaque case une métrique; – Permet de visualiser des données sous la forme de tableaux croisés appelés pivots; – Permet de détailler les données à l’aide des opérations de découpage: slice et dice; – Permet de naviguer une hiérarchie dimensionnelle à l’aide des opérations drill-down et roll-up.
Analyse multidimensionnelle (OLAP) • Exemple de cube:
• Opérations sur le cube: – Rotate: sélectionne le pivot d’analyse en faisant tourner le cube; – Slice: extrait une tranche du cube, c’est-à-dire, un sous-ensemble des valeurs du cube correspondant à une certaine valeur d’une des dimensions non-découpées; – Drill-down: permet de détailler les données en descendant le niveau hiérarchique d’une dimension; – Roll-up (drill-up): permet d’agréger les données en augmentant le niveau hiérarchique d’une dimension; Question• Comment fait-on ces opérations en SQL: – Rotate ? – Slice ? – Drill-down ? • Hiérarchie du cube (treillis):
• Clause CUBE (SQL99):
• Clause CUBE (SQL99):
noClient • Clause ROLLUP (SQL99):
Exemple OLAP graphique (Palo-Pivot)• Rapports (comparativement aux requêtes): – Le format des rapports est souvent prédéfini et peu flexible; – Les utilisateurs ont moins de contrôle sur les données présentées; – Nécessitent peu de connaissances techniques et d’interaction de la part des utilisateurs; – Sont normalement présentés dans un format facilitant la lecture. • Gestion des rapports: – Rapports préformatés: • Fournir une libraire de rapports fréquemment employés avec une description de leur contenu. • Exemples: – Ventes YTD vs ventes prédites; – Taux mensuel d’attrition par plan de service; – Taux de réponses courrier par promotion par produit; – etc. – Rapports paramétrables: • Offrir la possibilité de modifier facilement le contenu du rapport à l’aide de paramètres (ex: choix d’un produit, d’une région, etc.) • Gestion des rapports (suite): – Conception simple: • Permettre aux utilisateurs de pouvoir créer facilement de nouveaux rapports à l’aide d’une interface conviviale. – Exécution sur le serveur: • Éviter de surtaxer l’ordinateur de l’utilisateur en exécutant le rapport sur un serveur dédié. – Rapports cédulés: • Permettre aux utilisateurs de céduler l’envoi de rapports à des intervalles ou lors d’événements prédéterminés. – Méthode d’envoi: • Permettre aux utilisateurs de choisir comment le rapport leur est envoyé (ex: courriel, page Web, etc.).
Exemple de création de rapport (Microsoft SQLServer Reporting Services) Tableaux de bords• Caractéristiques: – Mettent en valeur les indicateurs de performance et les problèmes à l’aide d’éléments visuels: • Jauges (ex: profits par utilisateur); • Feux de circulation (ex: rouge signifie problème); – Requièrent très peu de connaissances techniques des utilisateurs; – Combinent les données de divers systèmes pour offrir une vue unifiée de haut niveau de l’entreprise; – Tiennent souvent compte des changements ponctuels des données (ex: rafraichissement des éléments visuels à intervalles réguliers). Exemple de tableau de bord (Microsoft PowerPivot) Indicateurs clés de performance• Définition: – Mesures permettant d’évaluer la performance d’une entreprise et le progrès réalisé dans l’atteinte de ses objectifs d’affaires. • Caractéristiques: – Mesurables; – Faciles à comprendre; – Reliés à des objectifs d’affaires concrets; – Balancés (pas en compétition); – Décidés par les gestionnaires et la haute direction; – Associés à des individus responsables de leurs résultats. Question• Indicateurs clés de performance: – En marketing ? – Au niveau de la production ? – Dans le domaine académique ? Indicateurs clés de performance• Exemples:
Indicateurs clés de performance• Domaine universitaire: Source: Universitéde Lancaster, UK Question • Qu’est-ce qu’un (balanced) scorecard? Scorecards• Business Performance Management(BPM): – « Ensemble de processus d’affaires, méthodologies, métriques et technologies employées par les entreprises pour mesurer, monitorer et gérer la performance d’affaires », Gartner. – Basé sur un ensemble d’indicateurs clé de performance (KPI) caractérisant les objectifs stratégiques; – Intègre également des concepts de planification stratégique; • Scorecard (tableau de bord prospectif): – Représentation graphique des KPI en comparaison avec les valeurs cibles de l’entreprise; – Les valeurs sont comparées pour un certain nombre de périodes historiques (ex: dix derniers trimestres). Scorecards• Balanced Scorecard(R. Kaplan et D. Norton): – Met l’accent sur la notion d’équilibre: • Entre les objectifs à court et à moyen/long terme; • Entre les indicateurs financiers et non-financiers; • Entre les indicateurs qui mesurent la performance passée et les indicateurs "prospectifs"; • Entre la perception externe et la performance réalisée en interne. Exemple de scorecardLe langageMultiDimensional eXpressions (MDX) Inspiré du livre: Microsoft SQL Server 2008 MDX Step by Step, par Brian C. Smith et Ryan Clay
• Proposé par Microsoft en 1997 dans leur BD OLE ; • Standardisé dans la norme XML Analytique (XMLA); • Employé dans différents produits: – Microsoft SQL Server; – SAP Netweaver BI; – Hyperion Essbase; – SAS OLAP Server; – etc. • Attention: Ne pas confondre avec SQL, même si certains éléments syntaxiques sont similaires. • Attributs dimensionnels (deux catégories): – Attributs-hiérarchies (attribute-hierarchy): • Utilisés pour filtrer ou agréger les données; • Ex (dim. Produit): Catégorie, Sous-catégorie, Produit, etc. • Une hiérarchie à deux niveaux est associée automatiquement à chacun de ces attributs; – Propriétés (member property) • Utilisés uniquement pour décrire les données; • Ex (dim. Produit): Description, Prix unitaire, etc. • Exemple: attribut-hiérarchie Catégorie Niveau 0: (Tous) • Hiérarchies utilisateur (user hierarchies): – Permettent de définir des relations hiérarchiques à plusieurs niveaux entre des attributs dimensionnels; • Mesures de faits: • Membres: – Valeurs que peuvent prendre un attribut-hiérarchie; – Ex: Membres de l'attribut-hiérarchie Catégorie sont: {Tous les produits, Accessoires, Vélos, Vêtements, Composantes} – Sont référencés comme : [Dimension].[Hiérarchie].[Membre] ou pour les hiérarchies utilisateur: [Dimension].[Hiérarchie].[Niveau].[Membre] • Exemples: – [Produit].[Catégorie].[Tous les produits] – [Produit].[Catégorie].&[1] (référence avec la clé du membre) – [Produit].[Catégorie-Produits].[Sous-Catégorie].[Vélos Route] • Tuples: – Coordonnées identifiant la position d'une case (cell) dans le cube OLAP – Exemple (deux dimensions + Mesure):
Tuple valide: ( [Date].[Année fiscale].[Toutes périodes], [Date].[Année calendrier].[CY2013], [Produit].[Catégorie].[Vélos], [Produit].[Sous-Catégorie].[Vélos Montagne], [Mesure].[Mesure].[Total] ) • Tuples partiels: – Les valeurs de certains attributs-hiérarchies sont manquantes – Exemple: ( [Date].[Année calendrier].[CY2013], [Produit].[Sous-Catégories].[Vélos Montagne] ) • Résolution de tuples partiels: – Pour chaque valeur manquante d'un attribut-hiérarchique, appliquer les règles suivantes: 1. Si une valeur par défaut existe (définie lors de la conception du cube), utiliser cette valeur 2. Sinon, si le membre (Tous) existe, utiliser cette valeur 3. Sinon, si le membre (Tous) n'existe pas (ex: dimension Mesure), utiliser le premier membre • Exemple*: ( [Date].[Année calendrier].[Y2013], [Produit].[Sous-Catégories].[Vélos Montagne] ) [Date].[Année fiscale] ?[Date].[Année fiscale].[Toutes périodes] [Produit].[Catégorie] ?[Date].[Catégorie].[Tous les produits] [Mesure].[Mesure] ?[Mesure].[Mesure].[TotalAvantTaxes] *: On suppose qu'aucune valeur défaut n'a été spécifiée • Ensembles de tuples: – Syntaxe: {tuple1, tuple2, tupleN} – Deux règles à suivre: 1. Les tuples d'un même ensemble doivent faire références aux mêmes hiérarchies; 2. Les hiérarchies doivent être dans le même ordre dans chaque tuple. – Exemple (ensemble invalide): { ([Date].[Année calendrier].[CY2012], [Produit].[Catégorie].[Vélos]), – Exemple (ensemble valide): { ([Date].[Année calendrier].[CY2012], [Produit].[Catégorie].[Vélos]), ([Date].[Année calendrier].[CY2013], [Produit].[Catégorie].[Vêtements]) } • Requêtes OLAP de base: SELECT <EnsembleTuplesPartiels1> ON COLUMNS, <EnsembleTuplesPartiels2> ON ROWS FROM <Cube> Slicer WHERE <EnsembleTuplesPartiels3> • Interprétation de la requête: 1. On croise les ensembles 1 et 2 pour générer un tableau; 2. Chaque case du tableau contient la combinaison des valeurs d'un tuple partiel de l'ensemble 1 avec un tuple partiel de l'ensemble 2; 3. On combine chaque tuple partiel du tableau avec ceux de l'ensemble 3; 4. On complète les tuples à l'aide de la méthode de résolution; 5. Chaque case du tableau contient la valeur du cube OLAP référencée par son tuple.
Exemple de requête: SELECT { ([Mesure]. [Mesure].[Total]), ([Mesure].[Mesure].[Rabais]) } ON COLUMNS, { ([Produit].[Catégorie].[Tous les produits]), ([Produit].[Catégorie].[Accessoires]), ([Produit].[Catégorie].[Composantes]), ([Produit].[Catégorie].[Vélos]), ([Produit].[Catégorie].[Vêtements]) } ON ROWS FROM CubeVentes WHERE ([Date].[Année calendrier].[CY2011]) Exemple de réponse: Total Rabais Tous les produits $808,387.54 $142,332.42 Accessoires $105,123.23 $5,382.31 Composantes $24,832.12 $332.75 Vélos $451,234.17 $87,088.19 Vêtements $227,198.02 $49,529.17 tuple correspondant ( [Date].[Année fiscale].[Toutes périodes], [Date].[Année calendrier].[CY2011], [Produit].[Catégorie].[Vêtements], [Produit].[Sous-Catégorie].[Tous les produits], [Mesure].[Mesure].[Total] ) Écriture simplifiée: – Raccourcis: – Mot clé Members: • On obtient tous les membres d'une hiérarchie en mettant [Hiérarchie]. Members; • Requête équivalente: SELECT { ([Mesure].[Total]), ([Mesure]. [Rabais]) } ON COLUMNS, { [Produit].[Catégorie].Members } ON ROWS FROM CubeVentes WHERE ([Date].[Année calendrier].[CY2011]) Jointure: – Fait avec la fonction crossjoin(Set1,Set2) ou l'opérateur '*': SELECT { ([Date].[Calendrier].[CY2010]), Question: ([Date].[Calendrier].[CY2011]), Pourquoi la ligne Tous les produits ([Date].[Calendrier].[CY2012]) } * a-t-elle disparue ? { ([Mesure].[Total]), ([Mesure]. [Rabais]) } ON COLUMNS, { [Produit].[Catégorie].[Catégorie].Members } ON ROWS FROM CubeVentes
Membres calculés (calculated members): – Membres dérivés dynamiquement d'autres membres du cube OLAP – Syntaxe: WITH MEMBER <référence membre> AS , FORMAT STRING = • Exemple: WITH MEMBER [Mesures].[PctRabais] AS ([Mesures].[Rabais]) / ([Mesures].[Total]), FORMAT_STRING="Percent" SELECT { ([Date].[Calendrier].[CY2010]), ([Date].[Calendrier].[CY2011]), ([Date].[Calendrier].[CY2012])} * { ([Mesure].[Total]), ([Mesure].[PctRabais]) } ON COLUMNS, { [Produit].[Catégorie].[Catégorie].Members } ON ROWS FROM CubeVentes Résultats:
Navigation dans une hiérarchie: – CurrentMember: membre courant d'une hiérarchie, au moment où une expression est évaluée – Parent: parent d'un membre évalué dans une expression • Exemple: WITH MEMBER [Mesures].[NomParent] AS [Produit].[Catégorie-Produits] MEMBER [Mesures].[PctDansParent] AS ([Mesures].[Total]) / ([Produit].[Catégorie-Produits].CurrentMember.Parent, [Mesures].[Total]), FORMAT_STRING="Percent" SELECT { ([Mesures].[NomParent], ([Mesures].[PctDansParent]) } ON COLUMNS, { [Produit].[Catégorie-Produits]. AllMembers} ON ROWS FROM CubeVentes Résultats:
|