Skip to content
benjaminbertin edited this page Feb 13, 2014 · 2 revisions

Besoin

  • On veut pouvoir collecter des données de plein de sources différentes.
  • On veut pouvoir stocker ces données et garder un traçabilité d'où elles viennent
  • On veut pouvoir effectuer des calculs entre données
  • On veut pouvoir analyser les données (collectées et calculées)
  • On veut pouvoir définir une campagne de collecte

(à compléter)

Concepts majeurs

  • Source de données
  • Entrepôt de données
  • Calculs
  • Analyses

Sources de données

Les sources de données peuvent être de plusieurs types :

  • un formulaire à saisir par un utilisateur
  • un fichier de données (Excel, XML, …)
  • des données postées à notre webservice
  • des paramètres

Une source de données fournit des données sources contenant :

  • une valeur
  • le type de la valeur (numérique, booléen, texte, …)
  • des informations de traçabilité

Entrepôt de données

Structure organisationnelle

L'entrepôt de données est organisé avec une structure organisationnelle. La structure organisationnelle possède un niveau d'axe le plus fin qui contient des cellules représentant par exemple :

  • des sites
  • des projets
  • des produits

L'axe le plus fin peut être agrégé par d'autres axes plus grossiers (pays, marque, filiale, …). Cela crée un arbre, avec à la racine, un seul axe de niveau le plus fin.

Les notions de catégories et de temps ne font pas partie de la structure organisationnelle.

Données

Les cellules peuvent contenir des données indexées par des clés textuelles uniques. Chaque donnée contient :

  • une valeur
  • le type de la valeur (numérique, booléen, texte, …)
  • des informations de traçabilité
  • une plage temporelle (mais peut-être infinie aussi)

Collectes de données

Pour alimenter une donnée dans une cellule, il faut démarrer une collecte de données. Une collecte est définie dans une cellule (de haut niveau généralement) et décrit :

  • quelle source de données utiliser
  • à quel niveau insérer les données (par ex. au niveau des sites)
  • la plage de temps des données récupérées (par ex. l'année)
  • est-ce que la collecte est répétée (par ex. d'année en année, ou d'heure en heure pour un relevé automatique)

Paramètres

Les paramètres sont donc stockés dans le data store, et peuvent par exemple être saisis à la main (avec un formulaire) ou importés d'une bibliothèque de paramètres existante.

Chaque donnée peut être temporelle, ou pas (plage temporelle infinie). Cela signifie donc que les paramètres peuvent être intemporels (e.g. coefficients figés) ou temporels (e.g. facteurs d'émissions ajustés chaque année).

Calculs

Un calcul définit des opérations entre des données. Il n'a pas de notion de temps, et il s'applique à l'ensemble d'un entrepôt de données.

Un calcul identifie une donnée à l'aide de la clé de la donnée dans une cellule.

Chaque calcul est appliqué à toutes les cellule. Si une donnée/clé est introuvable dans une cellule, alors celle-ci est ignorée. Cela permet de gérer les calculs de manière globale et indépendamment des cellules/de la structure organisationnelle. Cela permet également de bien supporter les cas où des collectes ne sont pas terminées, et donc que toutes les données ne sont pas encore récupérées.

Les résultats des calculs ne sont pas stockés dans l'entrepôt de données (c'est à dire qu'un calcul n'est pas une source de données). Cela reste à discuter, ça n'est pas définitif. Cela n'empêche pas non plus que techniquement il y'ait un cache sur les résultats des calculs (considération technique non relevante ici).

Indexation

L'étape d'indexation n'est pas encore très bien définie : est-ce qu'elle est indépendante de l'analyse ? Des calculs ?

L'indexation va indexer des données : données de l'entrepôt ou résultats de calculs. Les données indexées peuvent ensuite être analysées.

L'indexation se fait selon des axes. Il peut y'avoir plusieurs sources d'axes d'indexation :

  • la structure organisationnelle fournit des axes d'indexation
  • des indicateurs qui fournissent également des axes
  • des axes personnalisés au projet (par exemple des catégories)

Analyse

Le module d'analyse prend des données indexées et permet de générer des analyses/rapports.

Les analyses se font selon les axes d'indexation, et également selon une granularité temporelle. Comme chaque donnée (de l'entrepôt ou résultat de calcul) s'applique à une plage temporelle, il est possible d'agréger les données temporellement de manière très libre.

Il est par exemple possible de mélanger dans un même graphique des données valables pour une année entière, et des données relevées chaque heure : en analysant avec une granularité d'année, les données seront agrégées par années (somme), en analysant à la granularité de l'heure les données valable pour l'années entière seront ajustées (sous forme de moyenne horaire).