Construction d un EDD avec SQL 2008 R2
Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des données Spécification des injections dans le DW Projets d analyse et de rapport
Analyse du DW Le sujet de l entrepôt porte sur une application de gestion des ventes et des vendeurs (base de donnée NorthWind exemple de SQLServeur) L entrepôt de données va étudier les ventes des produits. Les analyses porteront principalement sur le chiffre d affaire par produit, par fournisseur, par client, par distributeur selon l ensemble des caractéristiques disponibles.
Modèle source
Analyse des données présentes dans le modèle source L analyse est relative à l étude des commandes. Les dimensions analysées seront celles relatives aux produits, aux fournisseurs, aux distributeurs et aux clients. Les mesures analysées seront celles relatives aux commandes. La granularité choisie est celle du détail de chaque ligne de commande (table OrderDetail)
Analyse des dimensions Pour les produits, les types d informations présentes sont : Son nom et sa catégorie, Son fournisseur (nom, contact, titre du contact) L adresse du fournisseur, Pour les clients, les types d informations présentes sont : Le nom, contact, titre du contact, Son adresse Pour le distributeur, les types d informations sont : Le nom
Analyse des dimensions et des mesures Pour le détail de la commande, les informations présentes sont : Le numéro de commande Les dates de commande, cible de livraison, effective de livraison, Et les mesures présentes sont : La quantité de produit vendu, Mesure numérique additive sur toute les dimensions Le prix unitaire de vente Mesure numérique non additive La remise sur la vente Mesure numérique non additive Le prix total (quantité x prix unitaire remise) Mesure numérique additive sur toutes les dimensions
Table d analyse décisionnelle Mesures Order OrderID Products (produits) Supplier (fournisseur) ProductName CompanyName Shiper Adresse Adresse Date Date Cible Date effective (distributeur) Customer Supplier Customer Commande livraison Livraison CompanyNam e CompanyName Adresse Adresse Date Date Date Dimsension CategoryNam dégradée e ContactName ContactName City City Order Detail UnitPrice ContactTitle ContactTitle Region Region Order Detail Quantity PostalCode PostalCode Order Detail Discount Dimension "Company" Country Country Odrer Detail Price Dimension Adresse Dimension Date
Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Analyse du DSA Injection des données Spécification des injections dans le DSA Spécification des injections dans le DW Projet d analyse et de rapport
Définition des tables du DW dans SQL 2008 R2 Démarrer Microsoft SQL Serveur 2008 R2 SQL Server Management Studio Nom du serveur : le nom de votre machine. Création de deux bases de données : Une pour le DW : DW NorthWind, taille initiale de 10 Mo, Une pour le DSA : DSA NorthWind, taille initiale de 10 Mo. (Pour créer une base de données : clic droit sur base de données nouvelle base de données)
Création des tables du DW Dans la base de données créée, on construit en premier lieu les tables des dimensions (ouvrir la BD, bouton de droite sur Tables, Nouvelle Table). Chacune des tables de dimension aura un ID_dim_<nom de table> en clé primaire. Cette clé primaire est l ID unique de référence construit au moment de l injection des données sources dans le DSA. Le type sera «int» et il n utilisera pas la méthode automatique de création de nouvelle valeur SQL Serveur (Identity). Caractéristiques : ne pas autoriser les valeurs Null, puis, bouton de droite sur la colonne, «définir la clé primaire». Pour les autres caractéristiques, le type de donnée choisi est soit : varchar(taille à spécifier) : permet le stockage de chaîne de caractères de la taille souhaitée. numeric(précision, échelle) : précision = nombre de chiffres décimaux à gauche et à droite de la virgule (entre 1 et 38), échelle = nombre de chiffres à droite de la virgule.
Création des tables du DW La table de faits contiendra les mesures et des clés étrangères vers les dimensions. L ajout de clé étrangère est réalisée en définissant un attribut (qui sera la clé étrangère) et clic droit sur l attribut relations Ajouter Spécification tables et colonnes table de clé primaire = la table de dimension, table de clé étrangère, la tables de Faits. Pour les champs, on choisi l ID clé primaire de la table de dimension et l attribut clé étrangère. Attention à bien identifier l ensemble des attributs des tables car toute modification demande la destruction préalable de la table modifiée (même si vide de données).
Schéma du DW
Initialisation des Dimensions Gestion de la valeur NULL La valeur NULL prendra, dans le DW les valeurs suivantes : Numérique (jours, mois, année) : 0 Texte : «inconnue» Pour chaque dimension, une valeur «pas de valeur» sera créée. Insert into <table> (<champ>, ) Values ( inconnue, ) GO À l intégration des données dans les dimensions, les valeurs NULL seront systématiquement remplacées par la valeur correspondante.
Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Analyse de l injection des données Spécification des injections dans le DW Projets d analyse et de rapport
Analyse de l injection des données L injection des données commence par construire les dimensions afin de pouvoir y ajouter des faits. Pour chaque dimension, on doit analyser : Les sources, Les normalisations et transformations à apporter en fonction des sources, Identifier les évolutions lentes, Identifier les clés fonctionnelles uniques. Afin de réaliser le flux d injection de données des sources vers leurs cibles respectives
Intégration SSIS : flux de contrôle
Intégration dans SSIS : définition des connexions OLE DB
Dimension Produit Information Attributs Sources Transformation / Normalisation Évolution lente PK fonctionnel Description Le nom du produit ProductName La catégorie du produit CategoryName Jointure entre la table Products et Categories à partir de la clé étrangère CaterogyID de la table Products, Si le produit n a pas de catégorie (clé étrangère à NULL), la catégorie est «inconnue» Non : toute nouvelle valeur est ajoutée Nom du produit + catégorie du produit
Dimension Produit : flux d injection Le flux de données sera le suivant
Dimension Produit : source des données
Dimension Produit : filtrage (colonne dérivée)
Dimension Produit : recherche des nouvelles données à insérer
Dimension produit : injection dans la cible
Dimension Date Information Attributs Sources Transformation / Normalisation Évolution lente PK fonctionnel Description Numéro du jour, du mois et de l année L ensemble des dates présentes dans la table commande : date de commande, date requise, date prévue. Transformation : les numéros du jour, mois et année sont extraits de la date Normalisation : Si la date est nulle, les valeurs des trois composantes sont à 0 Non : toute nouvelle valeur est ajoutée Jour, mois, année
Dimension Date : flux de données
Dimension date : sources (même principe pour les deux autres )
Dimension date : union des sources et suppression des doublons
Dimension Date : Ajout jours, mois, années La recherche des doublons et l insertion dans la cible suivra le même procédé que pour la dimension produit.
Dimension Adresse Information Attributs Sources Transformation / Normalisation Évolution lente PK fonctionnel Description Adresse, ville, région, code postal, pays Les adresses des tables fournisseur et client Normalisation : si une composante est nulle, elle est remplacée par la valeur «inconnue» Non : toute nouvelle valeur est ajoutée L ensemble des attributs
Dimension Adresse : flux de données
Dimension Adresse : filtrage des données
Dimension Company Information Attributs Sources Transformation / Normalisation Évolution lente PK fonctionnel Description Noms de la company, nom du contact, titre du contact Les companies des tables fournisseur, distributeur et client Normalisation : si une composante est nulle, elle est remplacée par la valeur «inconnue» Non : toute nouvelle valeur est ajoutée L ensemble des attributs
Dimension Company : flux de données
Dimension Company : ajout des colonnes pour le Shipper
Dimension Company : Sauvegarde des rejets dans un fichier csv
Dimension Company : Sauvegarde des rejets dans un fichier csv
Table de faits Information Mesures Dimensions Sources Transformation / Normalisation Évolution lente PK fonctionnel Description Quantité, prix unitaire, remise, prix total (= quantité * PU remise) L ensemble des caractéristiques liées aux dimensions du fait (adresses, dates, compagnies, produits) Le croisement des tables commande, détail de commande, Transformations : les composantes jour, mois et années seront extraites des dates de la commande. Normalisation : si une composante est nulle, elle est remplacée par la valeur «inconnue» Non : toute nouvelle valeur est ajoutée L ensemble des attributs
Injection dans la table de faits : requête source
Injection dans la table de faits : requête source
Injection dans la table de faits : flux de données
Table de faits : source OLE DB
Table de faits : filtrage des données
Table de faits : recherche des faits existants
Exécution de l injection
Dans la table de faits
Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Analyse et construction du DSA Injection des données Spécification des injections dans le DSA Spécification des injections dans le DW Projets d analyse et de rapport
Projet d analyse (analysis services) Étapes du projet : Définition des sources de données Définition des liens vers les bases de données source du cube créé. Méthodologie comparable à celle utilisée dans SSIS pour définir les sources de données. Définition des vues sur les sources de données, Définition des dimensions, Définition du cube
Définition des vues sur les sources de données Définition des tables dans la bases de données source.
Définition des dimensions Pour chaque table dimension source on choisira : La clé primaire (ou l ensemble des composants «clé primaire» de la table) L ensemble des attributs de la dimension qui seront utilisés dans les cubes du projet en cours.
Définition des dimensions : commande
Définition des dimensions : date
Définition du fait Choix de la source (table de faits) Choix des mesures Choix des dimensions (telles que définies précédemment)
Définition du cube
Travail avec le cube
Recherche des ventes par profession (titre) du contact pour avril 1997.
Lien entre le pays du consommateur et le pays du producteur