Bases de données multidimensionnelles OLAP



Documents pareils
Plan. Introduction Eléments de la théorie des systèmes d'informations Les entrepôts de données (Datawarehouse) Les datamart Architecture Modélisation

OLAP : Mondrian + Pentaho. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot

et les Systèmes Multidimensionnels

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

2 Serveurs OLAP et introduction au Data Mining

Collabora'on IRISA/INRA sur le transfert de nitrates et l améliora'on de la qualité des eaux des bassins versants:

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

Bases de données multidimensionnelles et mise en œuvre dans Oracle

Les Entrepôts de Données

Les entrepôts de données

Urbanisation des SI-NFE107

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Datawarehouse: Cubes OLAP. Marlyse Dieungang Khaoula Ghilani

2014/2015. Rapport 4 REALISE PAR : ISMAIL NAIT ABDELLAH OUALI SOUFIANE HOURRI MOHAMED OUSSAFI ENCADRE PAR : MME L.LAMRINI ANOUAR OUFQIR SMARTSIR

Introduction à la B.I. Avec SQL Server 2008

Entrepôts de données. NEGRE Elsa Université Paris-Dauphine

ETL Extract - Transform - Load

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SQL Server SQL Server Implémentation d une solution. Implémentation d une solution de Business Intelligence.

LES ENTREPOTS DE DONNEES

palais des congrès Paris 7, 8 et 9 février 2012

Fouille de Données : OLAP & Data Warehousing

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Business Intelligence : Informatique Décisionnelle

Bases de Données OLAP

Plan. Ce qu est le datawarehouse? Un modèle multidimensionnel. Architecture d un datawarehouse. Implémentation d un datawarehouse

La place de la Géomatique Décisionnelle dans le processus de décision

SQL SERVER 2008, BUSINESS INTELLIGENCE

Introduction aux outils BI de SQL Server Création de cubes dans SQL Server Analysis Services (SSAS)

FreeAnalysis. Schema Designer. Cubes

1 Introduction et installation

Didier MOUNIEN Samantha MOINEAUX

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

Le langage SQL Rappels

L informatique des entrepôts de données

L information et la technologie de l informationl

et les Systèmes Multidimensionnels

Business Intelligence Reporting

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

La problématique. La philosophie ' ) * )

Bases de Données Avancées

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Hervé Couturier EVP, SAP Technology Development

Analyse comparative entre différents outils de BI (Business Intelligence) :

SWISS ORACLE US ER GRO UP. Newsletter 5/2014 Sonderausgabe. OBIF DB licensing with VMware Delphix 12c: SQL Plan / Security Features

BIRT (Business Intelligence and Reporting Tools)

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!!

Le Data Warehouse. Fait Vente. temps produit promotion. magasin. revenu ... Produit réf. libellé volume catégorie poids. Temps jour semaine date ...

Chapitre 9 : Informatique décisionnelle

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

Le Langage SQL version Oracle

Business Intelligence avec SQL Server 2012

Présentation Windows Azure Hadoop Big Data - BI

MTI820 Entrepôts de données et intelligence d affaires. Les applica+ons de BI

Les Entrepôts de Données. (Data Warehouses)

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Business Intelligence avec Excel, Power BI et Office 365

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Présentation du module Base de données spatio-temporelles

Entrepôt de données 1. Introduction

JEDOX FACTSHEETS SELF-SERVICE BUSINESS INTELLIGENCE, ANALYTICS & PERFORMANCE MANAGEMENT

Un datawarehouse est un entrepôt de données (une base de données) qui se caractérise par des données :

Travail de diplôme 2011 Business Intelligence Open Source SpagoBI/Talend Résumé

Easy to. report. Connexion. Transformation. Stockage. Construction. Exploitation. Diffusion

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2014

Cahier des charges de l application visant à effectuer un suivi de consommation énergétique pour les communes. Partenaires du projet :

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

ÉVALUATION DES PRODUITS COMMERCIAUX OFFRANT DES CAPACITÉS

Dossier I Découverte de Base d Open Office

Nell Armonia Shuttle Web

Le nouveau visage de la Dataviz dans MicroStrategy 10

SQL Server 2012 et SQL Server 2014

Mémoire de fin d études. Thème Conception et réalisation d un Data Warehouse pour la mise en place d un système décisionnel

Option OLAP d'oracle Database 10g

Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières

Introduction à Business Objects. J. Akoka I. Wattiau

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Entrepôts de Données

Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel

DESCRIPTIF DE MODULE S5 GSI

Projet Business Object

Solutions SAP Crystal

BUSINESS INTELLIGENCE

Déroulement de la présentation

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Business Intelligence avec SQL Server 2014 Maîtrisez les concepts et réalisez un système décisionnel

Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object

Business Intelligence

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE. Ministère de l Enseignement Supérieur et de la Recherche Scientifique I.N.I THEME : Les outils OLAP

Planification, Elaboration budgétaire, Simulation, Analyse Temps Réel BAO02. Cognos TM1. Pascal DELVAL, Customer Technical Professional

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

BUSINESS INTELLIGENCE

BI Open Source Octobre Alioune Dia, Consultant BI

BI = Business Intelligence Master Data-Science

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

1 Introduction. Business Intelligence avec SharePoint Server 2010

Business Intelligence avec SQL Server 2012

Transcription:

Bases de données multidimensionnelles OLAP

OLAP OLAP (On Line Analytical Processing): Ensemble des outils nécessaires pour l analyse multidimensionnelle. Les données sont historisées, résumées, consolidées.

Modèles de données Poste1 Poste2 Poste 3 Modèle de présentation Modèle de diffusion Modèle d'intégration Le modèle d'intégration unifie les données Le modèle de diffusion modélise la structure de l'entrepôt de données (Serveur OLAP). Le modèle de présentation définit la manière dont les données seront présentées à l'utilisateur. Base1:Base de données de production Base 2:Base de données de production Base3:Base de données de production 3

Les outils OLAP Les outils relationnels OLAP (ROLAP) Les données sont stockées dans une base de données relationnelle, moteur OLAP permet de simuler le comportement d un SGBD multidimensionnel. Les outils MOLAP Utilisent un système multidimensionnel «pur» qui gère les structures multidimensionnelles natives (les cubes) Accès direct aux données dans le cube Les outils HOLAP (Hybrid OLAP) tables de faits et tables de dimensions stockées dans SGBD relationnel (données de base) données agrégées stockées dans des cubes 4

Le cube Modélisation multidimensionnelle des données facilitant l analyse d une quantité selon différentes dimensions: Temps Localisation géographique Produits Fournisseurs Clients Les calculs sont réalisés lors du chargement ou de la mise à jour du cube Un cube permet de visualiser les données selon plusieurs dimensions Un cuboïde est un cube de dimension n 5

Exemple de cube TV PC Tablette sum Date 1Trim 2Trim 3Trim 4Trim 100 200 300 100 700 Total annuel des ventes de TV aux U.S.A. sum U.S.A France Allemagne Pays sum ALL,ALL,ALL 6

Treillis cuboïdes 7

Opérations typiques de l OLAP Roll up : consolider (résumer) les données : Passer à un niveau supérieur dans la hiérarchie d une dimension Drill down : l inverse du Roll up : descendre dans la hiérarchie d une dimension Slice et Dice (tranche et extraction): Projection et sélection du modèle relationnel Pivot (rotate): Réoriente le cube pour visualisation 8

Modèles de stockage ROLAP: les données d'un groupe de mesures sont extraites dynamiquement à partir de la table des faits (le groupe de mesures est utilisé dans ce cas là uniquement pour définir les métadonnées). MOLAP: les données de la table des faits ainsi que les agrégats sont chargées dans dans la base de données. HOLAP:Base de données Multidimensionnelle hybride.

Couche métadonnées (sémantique) Le cube peut contenir des méta informations pour: Pour décrire les tables, colonnes et relations dans une base de données. Définir des hiérarchies Supporter la localisation Mettre en forme les données

Dimensions Hiérarchies Hiérarchie d attributs: une hiérarchie d attribut possède deux niveaux: la racine qui contient tous les membres (toutes les valeurs) et les feuilles de la hiérarchie sont composées par les membres. Hiérarchie naturelle: une hiérarchie naturelle est le résultat d une relation entre attributs. chaque attribut fils doit avoir un seul attribut parent (Exemple: Catégorie Sous Catégorie Produit ) Hiérarchie utilisateur: Peut être basée sur une hiérarchie naturelle ou non. Facilite le parcours d une dimension. N affecte pas la structure de stockage du cube. Exemple d une hiérarchie utilisateur non basée sur une hiérarchie naturelle: Couleur d un article Taille de l article

Exemples de serveurs OLAP EssBase: Oracle SSAS: Microsoft Cognos TM1: IBM Cubes: open source license MIT Mondrian: open source

Mondrian

Présentation 1 4 Mondrian est un serveur ROLAP sous licence open source. Couches d un système Mondrian Couche présentation Couche Multidimensionnel: valide et exécute les requêtes MDX, les axes sont d abord évalués puis les cellules. La couche étoile: responsable de la gestion d un cache d agrégation, si les données demandées par la couche Multidimensionnelle ne sont pas présentes dans le cache alors une requête est envoyée à la couche persistance. La couche persistance: une base de données RDBMS.

Création du cube Création de la base de données Exécuter les deux fichiers de scripts (adventure works) Le driver mysql doit être copié dans le dossier drivers 15

<Schema name="schema1"> <Cube name="ventes indirectes"> <Table name="factresellersales"> </Table> <Measure name="ca" column="salesamount" formatstring="#,###.00" aggregator="sum"> </Measure> <Measure name="frais de port" column="freight" formatstring="#,###.00" aggregator="sum"> </Measure> </Cube> </Schema> 1 6

17

Création d un cube avec PSW Cube Dimensions: [Types de grossiste] avec une hiérarchie unique (non nommée) et basée sur une table de dimension unique (dimreseller) [Temps] basée sur un schéma en étoile (tous les niveaux de la hiérarchie étant gérés par une table de dimension unique) Mesures deux mesures non calculées ([CA] et [Frais de port]) une mesure calculée ([Pourcentage frais de port]) 18

Création du cube Ventes2 1. Créer et enregistrer un schéma nommé «schema2» 2. Créer un cube nommé «cube2» 3. Définir la table de faits associée au cube 19

4. Sélectionnez la table de faits à partir de la liste 5. Ajouter la mesure CA 5. Ajouter la mesure «Frais de port» 20

6. Ajouter la mesure calculée «Pourcentage Frais de port» 7. Ajouter une dimension associée au schéma. 21

8. Renseigner le nom de la dimension «Type de grossiste» 9. Ajouter une hiérarchie à la dimension «Type de grossiste» 22

10. Ajouter un niveau à la hiérarchie 11. Définir la table associée à la hiérarchie «Hiérarchie des types de grossiste» 23

12. Ajouter la dimension «Temps» dans le schéma 13. Ajouter une hiérarchie dans la dimension «Temps» 14. Ajouter la table «dimtime» à la hiérarchie, puis définir la propriété «PrimaryKey». 24

14. Ajouter le niveau «Année» 15. Ajouter le niveau «Trimestre» 25

16. Ajouter le niveau «Mois» 17. 26

18. Associer les deux dimensions au cube 27

28 Le cube Cube2

<Schema name="schema2"> <Dimension type="standarddimension" name="type de grossiste"> <Hierarchy name="hiérarchie des types de grossite" hasall="true" allmembername="tous les types de grossiste" primarykey="resellerkey"> <Table name="dimreseller"></table> <Level name="type de grossiste" table="dimreseller" column="businesstype" type="string" uniquemembers="true" leveltype="regular"></level> </Hierarchy></Dimension> <Dimension type="timedimension" name="temps"> <Hierarchy name="temps" primarykey="timekey"> <Table name="dimtime" > </Table> <Level name="année" hasall="true" table="dimtime" column="calendaryear" type="numeric" uniquemembers="true" leveltype="timeyears"> </Level> <Level name="trimestre" table="dimtime" column="calendarquarter" type="numeric" uniquemembers="true" leveltype="timequarters"> </Level> <Level name="mois" table="dimtime" column="monthnumberofyear" type="numeric" uniquemembers="true" leveltype="timemonths" captioncolumn="frenchmonthname"> </Level> </Hierarchy> </Dimension> <Cube name="cube2" cache="true"> <Table name="factresellersales"> </Table> <DimensionUsage source="type de grossiste" name="type de grossiste" foreignkey="resellerkey"> </DimensionUsage> <DimensionUsage source="temps" name="temps" foreignkey="orderdatekey"> </DimensionUsage> <Measure name="ca" column="salesamount" formatstring="#,###.00" aggregator="sum" > </Measure> <Measure name="frais de port" column="freight" formatstring="#,###.00" aggregator="sum" > </Measure> <CalculatedMember name="pourcentage frais de port" formatstring="" formula="measures.[frais de port]/measures.ca" dimension="measures" > </CalculatedMember> </Cube> </Schema> 29

30 Création d une source de données dans Pentaho

Créer une analyse Mondrian Créer une nouvelle vue analytique: Fichier/Nouveau / Vue Analytique 31

Exercices Ecrire les requêtes MDX suivantes: Afficher les CA et les frais de port de tous les types de grossiste. Req1 Req3 Req2 Req4 32

Req 1 Select { [Measures].[CA], [Measures].[Frais de port] } on columns, { [Type de grossiste] } on rows from [Cube2] 33

3. Publication du cube à partir de PSW Fichier/Publish Dossier créé dans Pentaho BI Server Nom de la chaine de connexion 34

MDX MultiDimensional Expressions

Présentation Langage de requêtes sur les bases de données OLAP, il comprend des instructions de manipulation de données et des instructions de définition de données Développé par Microsoft en 1997. Adopté par les plus importants éditeurs de solutions BI SAP (Business Objects) Oracle IBM Cognos Mondrian (Pentaho)

Exemples Measures est considérée comme une dimension spéciale qui regroupe l ensemble des mesures (faits) du cube. Il faut préciser les membres à afficher sur les colonnes(on COLUMS, ON Axis(0) ou ON 0, et les membres à afficher sur les lignes(on ROWS, ON AXIS(1) ou ON 1). Exemple 1: afficher toutes les ventes: SELECT Measures.[sales amount] ON COLUMNS, Client.[State Province Name] ON ROWS FROM [Adventure Works DW]

Exemples Ventes par pays: SELECT [Measures].[sales amount] ON COLUMNS, [Client].[State Province Name].MEMBERS ON ROWS FROM [Adventure Works DW] Pour obtenir les valeurs non nulles uniquement il faut précéder [Client].[State Province Name] par NON EMPTY. Pour ne pas afficher le membre ALL, utiliser CHILDREN à la place de MEMBERS.

Exemples Si vous sélectionnez plusieurs colonnes alors ils doivent être séparées par des virgules et regroupés par des accolades {} (on crée alors un ensemble.) SELECT { Measures.[sales amount], [Measures].[Order Quantity]} ON COLUMNS, NON EMPTY Client.[State Province Name].CHILDREN ON ROWS FROM [Adventure Works DW] Total des ventes et quantité commandée par ville et par couleur de produit: les membres de lignes doivent être entre ( ) (on crée alors un tuple). Le même résultat peut être obtenu en utilisant le produit des deux dimenssions: Client.City.CHILDREN * [Produit].[Color].CHILDREN SELECT { Measures.[sales amount], [Measures].[Order Quantity]} ON COLUMNS, NON EMPTY (Client.[State Province Name].CHILDREN, [Produit].[Color].CHILDREN )ON ROWS FROM [Adventure Works DW]

Tri Pour ordonner les lignes par ordre croissant (décroissant ) des ventes par pays, il faut utiliser la fonction ordrer (ASC ou DESC) SELECT Measures.[sales amount] ON COLUMNS, NON EMPTY order(client.[state Province Name].CHILDREN, Measures.[sales amount],asc) ON ROWS FROM [Adventure Works DW]

Tri Ventes par pays et par couleur de produit (tri ascendant) SELECT [Measures].[Sales Amount] ON COLUMNS, NON EMPTY Order( [Client].[State Province Name].CHILDREN * [Produit].[Color].CHILDREN, [Measures].[Sales Amount],ASC) ON ROWS FROM [Adventure Works DW] La fonction order est par défaut hiérarchique, il réorganise d abord les lignes en fonction de leur position dans la hiérarchie, puis elle ordonne chaque niveau, pour ignorer la hiérarchie utilisez BASC, ou BDESC

Afficher le total des ventes Internet par classe de produit: (H=Haute, M=Moyenne, L=Basse) SELECT Measures.[sales amount] ON COLUMNS, {Produit.class.H,Produit.Class.L, Produit.class.M} ON ROWS FROM [Adventure Works DW] Pour obtenir le même résultat, comme dans une feuille de calcul en utilisant la première et la dernière valeur séparées par «:»: Produit.class.H:Produit.class.M

Filtre La clause prend en argument un tuple qui définit la condition du filtre. SELECT Measures.[sales amount] ON COLUMNS, {Produit.class.H,Produit.Class.L, Produit.class.M} ON ROWS FROM [Adventure Works DW] WHERE [Client].[French Country Region Name].FRANCE SELECT { [Measures].[Sales Amount], [Measures].[Order Quantity]} ON COLUMNS, Filter([Client].[French Country Region Name].CHILDREN,[Measures].[Sales Amount]>5000000 AND [Measures].[Order Quantity]> 250)ON ROWS FROM [Adventure Works DW]

Exercices Ecrire les requêtes MDX suivantes: Ex1: Nombre de ventes par Gamme et par Pays de client. Ex2: Nombre de ventes par Canal et par Pays de client Ex3: Montant des ventes par Gamme et par Pays de Commercial Ex4: Afficher le montant (Prix) et le nombre de ventes par mois (de l année 2004) et par type de produit.

Exercices Ecrire les requêtes MDX suivantes: Ex1: Nombre de ventes par Gamme et par Pays de client. Ex2: Nombre de ventes par Canal et par Pays de client Ex3: Montant des ventes par Gamme et par Pays de Commercial Ex4: Afficher le montant (Prix) et le nombre de ventes par mois (de l année 2004) et par type de produit.