01 - Modélisation dimensionnelle

00:19:01
https://www.youtube.com/watch?v=PImQhI_fQMg

Résumé

TLDRCe texte discute des principes de conception de modèles dimensionnels pour l'analyse décisionnelle. Il explique l'importance de structurer les données opérationnelles dans des architectures spécifiques afin de minimiser les impacts sur les systèmes opérationnels et d'améliorer la performance des analyses. Les concepts de faits et dimensions sont introduits, ainsi que des structures comme la topologie en étoile ou en flocon. Des conseils pratiques pour la modélisation dimensionnelle sont fournis, notamment sur l'utilisation appropriée des clés et des valeurs dans les faits, ainsi que l'optimisation des dimensions pour garantir des analyses rapides et efficaces.

A retenir

  • 📊 Comprendre les modèles dimensionnels pour l'analyse décisionnelle.
  • ⚙️ Différencier OLTP et OLAP pour optimiser la gestion des données.
  • 🌠 Utiliser la topologie en étoile pour structurer les données efficacement.
  • 🔑 Les clés étrangères assurent l'intégrité des liens entre faits et dimensions.
  • 📈 Penser aux différents types de faits pour des analyses variées.
  • 📅 Intégrer plusieurs niveaux de dimensions pour une meilleure granularité.
  • ✍️ Mettre l'accent sur la qualité des dimensions pour améliorer l'expérience utilisateur.
  • 🏷️ Redonder les informations dans les faits pour des requêtes rapides.
  • 🔍 Créer des vues pour faciliter la lecture des modèles dimensionnels.
  • 📏 Considérer les fuseaux horaires dans les dimensions temporelles.

Chronologie

  • 00:00:00 - 00:05:00

    Dans ce module, nous abordons la nécessité de se concentrer sur les données opérationnelles pour concevoir un modèle dimensionnel efficace, essentiel pour piloter l'activité. Il est crucial de créer des architectures décisionnelles optimisées pour éviter de perturber les opérations en utilisant directement des bases OLTP. Le modèle OLAP, introduit par Edgar Codd, permet de consolider et d'historiser les données, facilitant ainsi des analyses performantes sans impact sur les opérations quotidiennes.

  • 00:05:00 - 00:10:00

    Nous continuons avec la découverte des dimensions et des faits dans le cadre de la modélisation dimensionnelle. Les faits représentent les mesures à analyser, tandis que les dimensions servent d'axes d'analyse. Des dimensions multiples enrichissent les capacités d'analyse, et l'architecture peut avoir une structure en étoile ou en flocon, selon la complexité des relations entre les dimensions et les faits, permettant une compréhension optimale des données au sein de l'entreprise.

  • 00:10:00 - 00:19:01

    Enfin, la conception des faits et des dimensions est détaillée, en insistant sur l'importance des clés étrangères et des valeurs numériques dans les faits. Les bonnes pratiques incluent le choix judicieux des granularités et des valeurs additive/non additive, ainsi que la spécification des dimensions temporelles. L'architecture générale implique un pipeline avec un système ETL pour alimenter un entrepôt de données, garantissant un accès rapide aux cubes de données pour des analyses décisionnelles optimisées.

Carte mentale

Vidéo Q&R

  • Qu'est-ce qu'un modèle dimensionnel?

    Un modèle dimensionnel est une architecture de base de données conçue pour faciliter l'analyse décisionnelle et optimiser la performance des requêtes.

  • Quelle est la différence entre OLTP et OLAP?

    OLTP est destiné aux transactions opérationnelles, tandis qu'OLAP est conçu pour l'analyse des données.

  • Pourquoi utiliser une architecture spécifique pour le décisionnel?

    Pour éviter de perturber les opérations et améliorer la performance d'analyse sur des volumes de données importants.

  • Qu'est-ce que le cube dans un modèle dimensionnel?

    Un cube est une structure de données qui permet d'interroger rapidement les informations pré-calculées selon différentes dimensions.

  • Quels types de faits peuvent exister dans un modèle dimensionnel?

    Les faits peuvent être transactionnels, périodiques ou cumulés, selon le type d'analyse souhaitée.

  • Comment construire les dimensions?

    Les dimensions doivent contenir des informations descriptives et peuvent inclure plusieurs niveaux de granularité.

  • Qu'est-ce que la topologie en étoile?

    C'est une structure où les faits sont au centre et les dimensions sortent comme les branches d'une étoile.

  • Quelle est l'importance des clés étrangères?

    Elles relient les faits aux dimensions et forment la clé primaire pour garantir l'intégrité des données.

  • Que doit-on inclure dans les valeurs des faits?

    Les valeurs doivent inclure des informations numériques pour les cumuls, avec attention aux types additifs et non-additifs.

  • Quels conseils pour une bonne modélisation dimensionnelle?

    Assurez-vous de la qualité des dimensions, utilisez des clés auto-incrémentées et intégrez des informations pertinentes.

Voir plus de résumés vidéo

Accédez instantanément à des résumés vidéo gratuits sur YouTube grâce à l'IA !
Sous-titres
fr
Défilement automatique:
  • 00:00:00
    pour concevoir votre modèle dimensionnel
  • 00:00:02
    il va falloir vous intéresser d'abord
  • 00:00:04
    aux données on va les prendre
  • 00:00:06
    opérationnels on va les orienter de
  • 00:00:08
    façon à ce qu'elle permette de piloter
  • 00:00:10
    l'activité ça c'est le premier objectif
  • 00:00:12
    de ce chapitre et puis pour permettre
  • 00:00:14
    cette orientation il va falloir créer
  • 00:00:16
    des architectures
  • 00:00:18
    décisionnelles optimiser pour le
  • 00:00:20
    décisionnel et on va voir comment
  • 00:00:23
    organiser justement nos données en fait
  • 00:00:25
    et en dimension qui est la première
  • 00:00:27
    structure décisionnelle la plus
  • 00:00:29
    classique alors pourquoi avoir une
  • 00:00:31
    architecture spécifique pour le
  • 00:00:33
    décisionnel bah la problématique c'est
  • 00:00:35
    que si vous faites votre analyse
  • 00:00:36
    décisionnelle directement sur de l'oltp
  • 00:00:38
    TP étant pour traitement transactionnel
  • 00:00:41
    et ben vous allez perturber
  • 00:00:42
    l'opérationnel perturber toutes les
  • 00:00:44
    tâches que les gens font sur l'ajou la
  • 00:00:47
    suppression des produits l'ajout
  • 00:00:49
    suppression des ventes et cetera vous
  • 00:00:51
    aurez en plus de très FAI performan sur
  • 00:00:54
    votre analyse puisque il va falloir
  • 00:00:56
    agréger un très grand nombre de données
  • 00:00:58
    au sein de ces tables et de surcrois
  • 00:01:01
    vous aurez du mal à faire le croisement
  • 00:01:03
    entre différentes bases de données
  • 00:01:05
    puisque toutes vos données ne se situent
  • 00:01:07
    pas toujours dans la même base de
  • 00:01:08
    données et vous voudriez éventuellement
  • 00:01:10
    croiser des données qui viennent de
  • 00:01:12
    plusieurs silos applicatifs ce qui sera
  • 00:01:14
    très compliqué en terme
  • 00:01:16
    d'interopérabilité c'est pour ça
  • 00:01:17
    qu'Edgar code dans les années 90 a
  • 00:01:20
    proposé un autre modèle le modèle OLAP
  • 00:01:23
    c'est-à-dire un modèle de traitement
  • 00:01:25
    analytique qui va consister à collecter
  • 00:01:27
    les informations opérationnelles dans
  • 00:01:30
    les bases relationnelles et les amener
  • 00:01:33
    dans une base bien spécifique où on va
  • 00:01:35
    consolider les données les historiser
  • 00:01:38
    puisque quand je change l'état d'une
  • 00:01:40
    commande pour dire qu'elle est annulée
  • 00:01:43
    je ne sais pas combien de temps s'est
  • 00:01:44
    écoulé entre le moment où elle était
  • 00:01:46
    dans l'état en attente et l'État annulé
  • 00:01:48
    et donc ces bases de données
  • 00:01:50
    dimensionnelles vont me permettre
  • 00:01:52
    justement de garder l'historique de
  • 00:01:54
    l'état des données et je vais pouvoir
  • 00:01:56
    donc aussi parce que les agrégations
  • 00:01:59
    sont faites déjà à l'avance selon les
  • 00:02:01
    axes qui m'intéressent avoir des
  • 00:02:03
    analyses de données à grande échelle
  • 00:02:06
    sans pour autant avoir des baisses de
  • 00:02:07
    performance les agrégations étant
  • 00:02:10
    préparées à l'avance au fur à mesure que
  • 00:02:12
    les données arrivent alors voilà à quoi
  • 00:02:14
    ressemble un cube c'està-dire qu'une
  • 00:02:16
    fois que vous avez stocké dans les
  • 00:02:17
    entrepos données vos données sont prêtes
  • 00:02:19
    à être interrogées le principe du cube
  • 00:02:22
    c'est qu'il est designé pour être le
  • 00:02:24
    plus rapide c'est la priorité numéro 1
  • 00:02:27
    c'est la rapidité et le principe c'est
  • 00:02:29
    que si vous voulez interroger vos
  • 00:02:31
    chiffres d'affaires en fonction d'un
  • 00:02:33
    trimestre Q1 Q2 Q3 Q4 en fonction d'un
  • 00:02:37
    produits des pommes des melons des
  • 00:02:39
    cerises ou du raisin et en fonction
  • 00:02:41
    d'une ville Dallas ou Denver il vous
  • 00:02:44
    suffira d'aller chercher directement le
  • 00:02:46
    ou les cubes concernés pour pouvoir
  • 00:02:48
    avoir vos données déjà précalculées au
  • 00:02:51
    niveau du cube donc forcément pour
  • 00:02:53
    concevoir une telle structure de données
  • 00:02:55
    bah il y a la notion de dimension hein
  • 00:02:57
    c'est nos villes le type de fruit
  • 00:03:00
    le trimestre et il y a les faits
  • 00:03:03
    c'est-à-dire les données qu'on veut
  • 00:03:04
    agréger par avance ici le chiffre
  • 00:03:06
    d'affair et donc Merise n'est pas du
  • 00:03:08
    tout adapté à ce genre de calcul à
  • 00:03:10
    l'avance parce que vous voulez une
  • 00:03:12
    compréhension rapide des axes et des
  • 00:03:15
    fait et une performance de vos requêtes
  • 00:03:18
    donc exit la troisème forme normale qui
  • 00:03:21
    va vous imposer d'avoir un minimum de
  • 00:03:23
    redondance et surtout ne pas répéter un
  • 00:03:25
    champ qui va dépendre d'un autre champ
  • 00:03:27
    là on va s'autoriser à à redonder à
  • 00:03:31
    avoir beaucoup beaucoup de doublons dans
  • 00:03:34
    nos tables tout simplement pour les
  • 00:03:35
    interroger rapidement et avoir
  • 00:03:37
    rapidement notre information on va
  • 00:03:39
    parler de modélisation dimensionnelle
  • 00:03:41
    puisque c'est fait en fonction de fait
  • 00:03:42
    et de dimension voilà vous avez
  • 00:03:44
    maintenant en tête l'architecture
  • 00:03:47
    pourquoi l'opérationnel et le
  • 00:03:49
    prescriptif ce n'est pas la même chose
  • 00:03:51
    maintenant nous allons pouvoir voir
  • 00:03:53
    comment concevoir nos modèles de façon à
  • 00:03:55
    ce qu'il puissent re interroger
  • 00:03:57
    rapidement en fonction de nos besoins
  • 00:03:59
    pour concevoir votre modèle dimensionnel
  • 00:04:01
    il va falloir vous intéresser d'abord
  • 00:04:03
    aux mesures que vous voulez analyser si
  • 00:04:06
    par exemple c'est au niveau commercial
  • 00:04:08
    bah ce sera sûrement les ventes ou les
  • 00:04:10
    contacts clients donc ça c'est des
  • 00:04:13
    événements qui peuvent être en millions
  • 00:04:15
    voir en milliard d'ù le 10^ 6 à 10^ 9
  • 00:04:19
    voilà si c'est en dessous bien sûr vous
  • 00:04:21
    pouvez directement travailler sur les
  • 00:04:22
    bases de données relationnel puisque
  • 00:04:24
    vous pourrez faire des agrégations très
  • 00:04:26
    facilement mais par contre il va falloir
  • 00:04:28
    structurer en dimensionnel si vous
  • 00:04:30
    atteignez des millions voire des
  • 00:04:32
    milliards d'informations et pour les
  • 00:04:35
    agrégés bah vous aurez envie de faire
  • 00:04:38
    des sommes des moyennes si c'est pour
  • 00:04:39
    des ventes c'est des montants si c'est
  • 00:04:43
    pour des contacts clients bah vous allez
  • 00:04:45
    vouloir voir peut-être selon les
  • 00:04:48
    vendeurs combien en moyenne ils ont de
  • 00:04:51
    contact journaliers ou
  • 00:04:53
    mensuel donc ici il va falloir
  • 00:04:56
    identifier ce que vous voulez mesurer un
  • 00:04:58
    chiffre d'affaires bénéfices des nombres
  • 00:05:01
    d'articles des nombres de contacts un
  • 00:05:04
    nombre de retour produits le nombre de
  • 00:05:07
    nouveaux clients acquis et cetera et
  • 00:05:09
    après il va falloir vous demander selon
  • 00:05:11
    quelle dimension vous voulez consulter
  • 00:05:14
    ces mesures et analyser ces mesure donc
  • 00:05:16
    les axes d'analyse donc ça peut être des
  • 00:05:18
    axes de temps de lieu la cible pour les
  • 00:05:22
    nouveaux clients ou pour les articles
  • 00:05:25
    les catégories ou les types d'articles
  • 00:05:28
    ou les couleurs
  • 00:05:30
    vous pouvez avoir de 8 à 15 dimensions
  • 00:05:33
    parfait he c'est en général ce qu'on a
  • 00:05:35
    si vous en avez en dessous c'est que
  • 00:05:37
    vous n'avez pas assez d'axe d'analyse
  • 00:05:40
    hein on a parlé de cube parce que
  • 00:05:42
    c'était plus facile mais rarement on se
  • 00:05:44
    limite à trois dimensions très souvent
  • 00:05:47
    on a beaucoup plus de dimensions et ces
  • 00:05:50
    axes d'analyse vont nous servir aussi de
  • 00:05:53
    filtrre et on va afficher tous les
  • 00:05:56
    libéet qu'on aura sur ces dimensions et
  • 00:05:59
    et ils nous permettront de qualifier un
  • 00:06:01
    peu mieux le fait et donc résultat on
  • 00:06:03
    aura les ventes par trimestre sur la
  • 00:06:08
    France et pour une cible par exemple de
  • 00:06:11
    Senior mais on pourra y adjoindre des
  • 00:06:14
    catégories de produits aussi donc avoir
  • 00:06:16
    encore une dimension pour filtrer tout
  • 00:06:18
    ça et ainsi de suite alors voilà à quoi
  • 00:06:22
    peut ressembler une modélisation
  • 00:06:23
    dimensionnelle pour des appels clients
  • 00:06:27
    on voit ici ce qui est très intéressant
  • 00:06:30
    que des valeurs numériques dans les
  • 00:06:32
    données en jaune ce sont les clés des
  • 00:06:35
    clés étrangères vers les dimensions j'ai
  • 00:06:38
    les appels clients concernant des
  • 00:06:40
    produits faits par des équipes selon des
  • 00:06:44
    périodes données et ici selon des types
  • 00:06:48
    de clients hein puisqueon va voir ici
  • 00:06:51
    une dimension principalement
  • 00:06:53
    géographique par ville et région alors
  • 00:06:55
    on dit c'est une topologie en étoile
  • 00:06:58
    tout simplement parce que le fit est au
  • 00:07:00
    centre de cette étoile et cette étoile
  • 00:07:03
    ces branches sont formées par les
  • 00:07:04
    dimensions rattachées au fit vous ne
  • 00:07:07
    verrez pas deux faits reliés entre eux
  • 00:07:09
    dans une modélisation dimensionnelle
  • 00:07:11
    vous avez en permanence des faits au
  • 00:07:14
    centre des dimension al on peut parler
  • 00:07:17
    de galaxie dans le sens où bien sûr ces
  • 00:07:19
    dimensions peuvent servir à d'autres
  • 00:07:21
    faits je peux vouloir utiliser cette
  • 00:07:23
    dimension temporelle et cette dimension
  • 00:07:25
    d'équipe pour avoir non seulement les
  • 00:07:27
    customer call mais pourquoi VO pas les
  • 00:07:30
    contrats clients et donc là ici j'aurai
  • 00:07:32
    les contrats qui seraient dé faits qui
  • 00:07:33
    seraient reliés aussi à ces deux
  • 00:07:35
    dimensions voire à ces quatre dimensions
  • 00:07:37
    et donc là on aurait une galaxie dans le
  • 00:07:40
    sens où on a plusieurs étoiles qui sont
  • 00:07:42
    relié entre elles alors il y a aussi une
  • 00:07:44
    notion de flocon qui permet de détailler
  • 00:07:48
    une dimension en sous-dimension si on
  • 00:07:51
    regarde bien ici selon les règles
  • 00:07:53
    habituel de découpage Merise on aurait
  • 00:07:56
    normalement une table région hein
  • 00:07:58
    puisque bien sûr plusieurs villes
  • 00:08:01
    peuvent appartenir à la même région et
  • 00:08:03
    donc dans un modèle en flocon on aurait
  • 00:08:05
    une dimension région qui serait relié à
  • 00:08:08
    la dimension ville et de la même façon
  • 00:08:10
    ici pour un jour donné on aurait une
  • 00:08:13
    dimension semaine et une dimension mois
  • 00:08:15
    et une dimension trimestre enfin une
  • 00:08:18
    dimension année qui serait chacune
  • 00:08:20
    reliée à cette dimensionl et donc le
  • 00:08:23
    fait qu'on ait une dimension qui puisse
  • 00:08:25
    être reliée à une ou plusieurs autres
  • 00:08:27
    dimensions donne une forme de flot
  • 00:08:30
    hein ou à partir du centre on a à chaque
  • 00:08:32
    fois une arborescence qui part et donc
  • 00:08:35
    cette forme de flocon qui apparaît au
  • 00:08:36
    fur à mesure de la construction du
  • 00:08:38
    modèle alors ces modèles en flocon sont
  • 00:08:41
    un peu plus complexes ils sont moins
  • 00:08:43
    lisibles déjà sur le modèle et en plus
  • 00:08:46
    ils font des requêtes plus completes
  • 00:08:48
    puisqu'il va falloir faire une requête
  • 00:08:50
    avec une jointure entre le fait et la
  • 00:08:52
    dimension mais entre le fait et les
  • 00:08:54
    dimensions donc desjointure sur toutes
  • 00:08:56
    les tables on peut avoir selon les
  • 00:08:59
    moteurs de base de données
  • 00:09:01
    dimensionnelle parfois une baisse de
  • 00:09:04
    performance nous avons maintenant une
  • 00:09:05
    vision d'ensemble de la modélisation
  • 00:09:08
    dimensionnelle nous allons détailler
  • 00:09:10
    comment concevoir chaque partie fait et
  • 00:09:13
    dimension pour concevoir un fait il faut
  • 00:09:15
    partir du processus métier que l'on veut
  • 00:09:17
    étudier dégager les indicateurs de
  • 00:09:20
    performance clé les KPI si par exemple
  • 00:09:23
    c'est pour la vente vous voudrez
  • 00:09:25
    peut-être travailler au niveau de la
  • 00:09:27
    commande pour cumuler les chiffres
  • 00:09:29
    d'affaires selon différentes dimensions
  • 00:09:31
    type de client succursal mois ou
  • 00:09:34
    trimestre mais vous pouvez aussi vouloir
  • 00:09:37
    analyser selon les types de produits au
  • 00:09:39
    quel cas une commande regroupant
  • 00:09:41
    plusieurs types de produits il faudra
  • 00:09:42
    descendre en granularité et avoir une
  • 00:09:45
    granularité plus fine sur la ligne de
  • 00:09:47
    commande donc cette granularité doit
  • 00:09:50
    être établie avec soin en fonction de ce
  • 00:09:52
    que vous voulez analyser dans ces deux
  • 00:09:55
    cas on a affaire à un fait de type
  • 00:09:57
    transactionnel ce qui est le plus
  • 00:09:58
    fréquent un fait correspond à une
  • 00:10:01
    transaction au niveau opérationnel on
  • 00:10:03
    peut aussi avoir des faits qui sont des
  • 00:10:05
    faits de bilan périodique c'est-à-dire
  • 00:10:07
    que un fait correspond à une période de
  • 00:10:09
    temps par exemple l'heure et là vous
  • 00:10:12
    allez avoir l'agrégation de toutes les
  • 00:10:14
    commandes effectuées en une heure sur
  • 00:10:16
    par exemple une succursale en fonction
  • 00:10:18
    des vendeurs éventuellement même en
  • 00:10:20
    ayant des dimensions intégrant des
  • 00:10:23
    intervales de montant et puis vous
  • 00:10:25
    pouvez aussi avoir des faits de bilan
  • 00:10:27
    cumulés c'est-à-dire des faits qui vont
  • 00:10:30
    vous permettre d'analyser les étapes
  • 00:10:31
    d'un processus prenons un devis si votre
  • 00:10:34
    devis passe par l'État brouillon
  • 00:10:36
    proposer au client accepter ou refuser
  • 00:10:40
    bah ces quatre étapes vous allez pouvoir
  • 00:10:43
    analyser si vous avez un fait par étape
  • 00:10:46
    pour le devis et ainsi identifier si le
  • 00:10:48
    processus est efficace ou dans le cas
  • 00:10:51
    contraire l'optimiser en fonction des
  • 00:10:53
    résultats quoi qu'il en soit un fa sera
  • 00:10:55
    toujours composé de clés et de valeurs
  • 00:10:59
    les clés étrangères vers les dimensions
  • 00:11:01
    et à elle toutes elle constitue sous une
  • 00:11:03
    forme composée la clé primaire c'est ce
  • 00:11:05
    que l'on a dans l'exemple qu'on avait
  • 00:11:07
    pris tout à l'heure où les quatre clés
  • 00:11:09
    étrangères des dimensions sont regroupé
  • 00:11:11
    pour faire la clé
  • 00:11:13
    primaire ce qui vous interdit d'avoir
  • 00:11:16
    une valeur nulle sur une des clés
  • 00:11:18
    étrangères dans le cas où par exemple
  • 00:11:20
    vous auriez fait un appel à un client à
  • 00:11:23
    un instant T par une équipe mais ne
  • 00:11:26
    concernant aucun produit bah vous serez
  • 00:11:28
    obligé d'avoir une entrée aucun produit
  • 00:11:31
    ou non défini au niveau de votre
  • 00:11:34
    dimension produit pour éviter la valeur
  • 00:11:37
    nul et avoir une valeur de clé valide
  • 00:11:40
    vous avez aussi des valeurs dans les
  • 00:11:42
    faits ces valeurs vont vous permettre de
  • 00:11:45
    faire soit des cumules avec des valeurs
  • 00:11:47
    additives donc par exemple des cumules
  • 00:11:49
    de durée des cumules de quantité pour
  • 00:11:51
    savoir combien de produits vous avez
  • 00:11:53
    vendu en tout sur toutes les commandes
  • 00:11:55
    donc vous pourrez cumuler toutes les
  • 00:11:56
    quantités ou cumuler tous les montants
  • 00:11:58
    des commandes ou tous les montants des
  • 00:12:00
    frais de port sur ces commandes donc ça
  • 00:12:03
    c'est très fréquent d'avoir des valeurs
  • 00:12:05
    additives vous pouvez aussi avoir des
  • 00:12:08
    valeurs non additives des valeurs qui ne
  • 00:12:11
    riment à rien si on les additionne si je
  • 00:12:13
    prends par exemple les mesures de
  • 00:12:15
    température effectué de façon périodique
  • 00:12:18
    et donc enregistré sur mes faits et ben
  • 00:12:20
    il ne sera pas du tout intéressant d'en
  • 00:12:23
    faire le cumul quel que soit l'axe que
  • 00:12:25
    je
  • 00:12:26
    prendraisin je n'additionne pas les
  • 00:12:29
    température au même titre que je vais
  • 00:12:30
    pas additionner les prix des produits
  • 00:12:32
    par contre ça sera intéressant de faire
  • 00:12:34
    des moyennes de température surtous mes
  • 00:12:36
    faits donc bien sûr on aura des mines
  • 00:12:38
    des max des moyennes mais on ne pourra
  • 00:12:40
    pas les additionner et puis on a les
  • 00:12:42
    valeurs semi-additives qui ne peuvent
  • 00:12:43
    être additionné de façon pertinente que
  • 00:12:46
    sur certains axes si je prends les
  • 00:12:48
    stocks un instant T je voudrais
  • 00:12:50
    peut-être connaître le cumul des stocks
  • 00:12:54
    sur une gamme de produits mais par
  • 00:12:56
    contre sur un même produit sur la durée
  • 00:13:00
    donc en prenant l'axe temporel ça n'a
  • 00:13:02
    pas de sens de cumuler les stocks de ce
  • 00:13:05
    produit à l'instant T à l'instant t + 1
  • 00:13:08
    on en dégage donc un ensemble de bonnes
  • 00:13:10
    pratiques d'abord que un fait ne
  • 00:13:13
    contient que des clés étrangères et des
  • 00:13:14
    champs numérique il est d'usage de faire
  • 00:13:18
    un fait transactionnel pour avoir le
  • 00:13:20
    détail et si vous avez un très grand
  • 00:13:23
    nombre de transactions à la journée il
  • 00:13:26
    peut être intéressant de faire un fait
  • 00:13:28
    de bilan
  • 00:13:29
    pour avoir des résultats très rapides
  • 00:13:31
    lors de
  • 00:13:32
    l'interrogation sur les workflow long il
  • 00:13:35
    sera intéressant de faire un fait de
  • 00:13:37
    bilan cumulé sinon vous pourrez vous
  • 00:13:39
    contenter d'un fait de bilan périodique
  • 00:13:42
    dans le cas où vous n'auriez aucune
  • 00:13:44
    valeur dans votre fait et ben il est
  • 00:13:45
    d'usage de mettre une valeur qui est à 1
  • 00:13:49
    qui permettra de dénombrer lesffet très
  • 00:13:52
    facilement en faisant une somme de ce
  • 00:13:54
    champ Valeur hein imaginez que par
  • 00:13:56
    exemple vous vouliez comptabiliser le
  • 00:13:59
    nombre d'appels à des clients et que
  • 00:14:01
    vous n'aviez aucune information autre
  • 00:14:03
    que le fait que vous avez appelé un
  • 00:14:05
    client dans votre fait appel client
  • 00:14:08
    cette valeur 1 vous permettra très
  • 00:14:10
    facilement de dénombrer selon les
  • 00:14:12
    dimensions qui vous intéressent le
  • 00:14:13
    nombre d'appels qui ont été fait en
  • 00:14:16
    faisant un somme de ce champ à un vous
  • 00:14:18
    pouvez aussi quand vous avez plusieurs
  • 00:14:21
    sources pour une valeur numérique mettre
  • 00:14:23
    toutes les sources dans le fait de façon
  • 00:14:26
    à pouvoir cumuler selon la source qui
  • 00:14:28
    vous intéresse et voir même comparer les
  • 00:14:30
    sources si jamais vous avez des
  • 00:14:32
    incohérences ou des divergences entre
  • 00:14:34
    les sources n'hésitez pas également à
  • 00:14:37
    mettre plusieurs granularités au sein
  • 00:14:40
    d'un même fait si je prends pour tout à
  • 00:14:43
    l'heure mon fait de ligne par produit
  • 00:14:46
    commandé et ben je peux mettre avec ce
  • 00:14:49
    fait de ligne par produit commandé le
  • 00:14:52
    total de la commande ça sera beaucoup
  • 00:14:55
    plus pratique pour faire des moyennes ou
  • 00:14:57
    pour faire des pourcentages dans donc
  • 00:14:59
    n'hésitez pas à redonder les
  • 00:15:01
    informations voilà pareil pour les
  • 00:15:04
    niveaux supérieurs total et port qui
  • 00:15:07
    pourrait être mis pour la commande
  • 00:15:09
    concernant les dimensions n'hésitez pas
  • 00:15:11
    à mettre un maximum d'informations
  • 00:15:13
    textuelle donc autant on a des valeurs
  • 00:15:15
    numériques sur les faits autant on a des
  • 00:15:17
    valeurs texte sur les dimensions on veut
  • 00:15:21
    savoir pour les dimensions c'est souvent
  • 00:15:23
    le qui qui a fait telle action qui a
  • 00:15:26
    passé la commande qui a contribué à
  • 00:15:27
    faire passer la commande qui a commandé
  • 00:15:30
    le quoi qu'est-ce qui a été commandé
  • 00:15:32
    quelle catégorie de produit ou quel type
  • 00:15:35
    de paiement a été choisi lors du
  • 00:15:38
    règlement le où le quand on sont assez
  • 00:15:41
    évident hein des dimensions de lieu ou
  • 00:15:44
    des dimensions
  • 00:15:45
    temporel mais aussi le pourquoi et le
  • 00:15:48
    comment vont vous permettre d'analyser
  • 00:15:50
    les causes les conséquences des
  • 00:15:52
    transaction des actions que vous étudiez
  • 00:15:55
    et ça sur les différentes échelles si on
  • 00:15:58
    reprend l' encore l'exemple de tout à
  • 00:16:00
    l'heure on avait ici différentes
  • 00:16:02
    échelles au sein de la même dimension on
  • 00:16:04
    avait le jour le jour de la semaine la
  • 00:16:08
    semaine elle-même le mois le trimestre
  • 00:16:11
    et l'année même chose ici sur un
  • 00:16:14
    personnel le lieu le service et le grade
  • 00:16:18
    de la personne qui avait appelé le
  • 00:16:20
    client et ainsi de
  • 00:16:21
    suite rappelez-vous qu'il y a donc de 8
  • 00:16:24
    à 15 dimensions par fait si vous en avez
  • 00:16:27
    trop peu c'est un indice que vous allez
  • 00:16:30
    pas permettre à l'utilisateur d'avoir
  • 00:16:32
    une bonne expérience utilisateur la
  • 00:16:34
    qualité et le détail de vos dimensions
  • 00:16:37
    vont augmenter l'expérience utilisateur
  • 00:16:40
    décisionnel bien sûr un bi Business
  • 00:16:43
    Intelligence c'est l'autre terme du
  • 00:16:44
    décisionnel puisque c'est souvent les
  • 00:16:46
    libéés des dimensions qu'il voi
  • 00:16:48
    lorsqu'il manipule votre modèle de quoi
  • 00:16:51
    est composé une dimension clé primaire
  • 00:16:54
    auto-incrémentée suffira largement un
  • 00:16:56
    maximum de label comme je l'ai dit tout
  • 00:16:58
    à l'heure donc des champs de type texte
  • 00:17:01
    et si vous aviez à associer une
  • 00:17:04
    dimension plusieurs fois un fait ce qui
  • 00:17:06
    arrive de temps en temps par exemple
  • 00:17:08
    lieu de départ lieu d'arrivée hein et
  • 00:17:11
    ben à ce moment-là n'hésitez pas à faire
  • 00:17:13
    une vue pour faciliter la lecture de
  • 00:17:16
    votre modèle dimensionnel et donc vous
  • 00:17:19
    auriez une vue arrivée qui permettrait
  • 00:17:21
    de ne pas confondre le départ et
  • 00:17:23
    l'arrivée lors de la lecture des clés
  • 00:17:25
    étrangères et la création de vos requêes
  • 00:17:27
    sur les dimensions tempores ce qu'on a
  • 00:17:29
    vu dans l'exemple il est important de
  • 00:17:31
    distinguer les dates et les heures sur
  • 00:17:34
    les dates il faudra une clé qui sera
  • 00:17:37
    indépendante du jour vraiment l'auto
  • 00:17:39
    incrémenté convient très bien en
  • 00:17:41
    dimension temporelle et n'hésitez pas à
  • 00:17:43
    rajouter des informations qui seront
  • 00:17:45
    pertinent dans l'analyse le nombre de
  • 00:17:47
    jours du mois en question le jour est-il
  • 00:17:51
    férié ou pas est-ce les vacances quelle
  • 00:17:54
    est la date fiscale éventuellement
  • 00:17:56
    correspondant à ce jour-là et ce et tout
  • 00:17:59
    ce qui peut être utile en fonction de
  • 00:18:00
    votre activité de la même façon et sur
  • 00:18:03
    une dimension distincte vous allez
  • 00:18:05
    définir l'heure et si jamais vous devez
  • 00:18:07
    manipuler différents fus horaires faites
  • 00:18:10
    une dimension par fuseau ou à défaut au
  • 00:18:13
    moins deux dimensions une UTC et une
  • 00:18:16
    locale voilà vous avez plein d'astuces
  • 00:18:19
    pour faire de bonnes modélisation
  • 00:18:20
    dimensionnelle dans l'atelier ça ne sera
  • 00:18:23
    peut-être pas nécessaire d'aller aussi
  • 00:18:25
    loin mais au moins vous allez pouvoir
  • 00:18:28
    vous
  • 00:18:29
    une première modélisation vous savez
  • 00:18:31
    maintenant en tout cas comment orienter
  • 00:18:33
    vos données pour avoir un pilotage de
  • 00:18:36
    l'activité qui n'est pas opérationnelle
  • 00:18:39
    qui est vraiment analytique
  • 00:18:41
    l'architecture va consister à avoir un
  • 00:18:44
    pipeline dans sa version classique avec
  • 00:18:46
    un ETL en amont qui alimente un entrepôt
  • 00:18:49
    de données et des magasins de données
  • 00:18:51
    qui vont préparer des cubes pour une
  • 00:18:54
    interrogation rapide et efficace selon
  • 00:18:57
    des faits et des dimensions
Tags
  • modèle dimensionnel
  • données
  • OLTP
  • OLAP
  • analyse décisionnelle
  • cube
  • faits
  • dimensions
  • topologie en étoile
  • modélisation