Un système d'information décisionnel (SID) assure quatre fonctions fondamentales, à savoir la collecte, l'intégration, la diffusion et la présentation des données. À ces quatre fonctions s'ajoute une fonction de contrôle du SID lui-même, l'administration.
La collecte (parfois appelée datapumping) est l'ensemble des tâches consistant à détecter, à sélectionner, à extraire et à filtrer les données brutes issues des environnements pertinents compte tenu du périmètre du SID. Les sources de données internes et/ou externes étant souvent hétérogènes tant sur le plan technique que sur le plan sémantique, cette fonction est la plus délicate à mettre en place dans un système décisionnel complexe. Elle s'appuie notamment sur des outils d'ETL (extract-transform-load pour extraction-transformation-chargement).
Cette alimentation utilise les données sources issues des systèmes transactionnels de production, le plus souvent sous forme de :
La fonction de collecte joue également, au besoin, un rôle de recodage. Une donnée représentée différemment d'une source à une autre impose le choix d'une représentation unique pour les futures analyses.
L'intégration consiste à concentrer les données collectées dans un espace unifié, dont le socle informatique essentiel est l'entrepôt de données. Élément central du dispositif, il permet aux applications décisionnelles de bénéficier d'une source d'information commune, homogène, normalisée et fiable, susceptible de masquer la diversité de l'origine des données.
Au passage les données sont épurées ou transformées par :
C'est également dans cette fonction que sont effectués éventuellement les calculs et les agrégations (cumuls) communs à l'ensemble du projet.
La fonction d'intégration est généralement assurée par la gestion de métadonnées, qui assurent l'interopérabilité entre toutes les ressources informatiques, que ce soit des données structurées (bases de données accédées par des progiciels ou applications), ou des données non structurées (documents et autres ressources non structurées, manipulés par les systèmes de gestion de contenu).
La diffusion met les données à la disposition des utilisateurs, selon des schémas correspondant au profil ou au métier de chacun, sachant que l'accès direct à l'entrepôt de données ne correspondrait généralement pas aux besoins d'un décideur ou d'un analyste. L'objectif prioritaire est de segmenter les données en contextes informationnels fortement cohérents, simples à utiliser et correspondant à une activité décisionnelle particulière. Alors qu'un entrepôt de données peut héberger des centaines ou des milliers de variables ou indicateurs, un contexte de diffusion raisonnable n'en présente que quelques dizaines au maximum. Chaque contexte peut correspondre à un datamart, bien qu'il n'y ait pas de règles générales concernant le stockage physique. Très souvent, un contexte de diffusion est multidimensionnel, c'est-à-dire modélisable sous la forme d'un hypercube; il peut alors être mis à disposition à l'aide d'un outil OLAP.
Les différents contextes d'un même système décisionnel n'ont pas tous besoin du même niveau de détail. De nombreux agrégats ou cumuls, n'intéressant que certaines applications et n'ayant donc pas lieu d'être gérés en tant qu'agrégats communs par la fonction d'intégration, relèvent donc de la diffusion. Ces agrégats peuvent être, au choix, stockés de manière persistante ou calculés dynamiquement à la demande.
On peut distinguer trois questions à élucider pour concevoir un système de reporting :
Cette quatrième fonction, la plus visible pour l'utilisateur, régit les conditions d'accès de l'utilisateur aux informations. Elle assure le fonctionnement du poste de travail, le contrôle d'accès, la prise en charge des requêtes, la visualisation des résultats sous une forme ou une autre. Elle utilise toutes les techniques de communication possibles (outils bureautiques, requêteurs et générateurs d'états spécialisés, infrastructure web, télécommunications mobiles, etc).
C'est la fonction transversale qui supervise la bonne exécution de toutes les autres. Elle pilote le processus de mise à jour des données, la documentation sur les données (les méta-données), la sécurité, les sauvegardes, la gestion des incidents.