Mesures et dimensions en olap. OLAP-CUBE (reporting de gestion dynamique). Requêtes avec paramètres

OLAP (traitement analytique en ligne) est une méthode de traitement électronique des données analytiques qui représente l'organisation des données en catégories hiérarchiques à l'aide de totaux pré-calculés. Les données OLAP sont organisées hiérarchiquement et sont stockées dans des cubes plutôt que dans des tableaux. Les cubes OLAP sont un ensemble de données multidimensionnelles avec des axes contenant des paramètres et des cellules contenant des données agrégées dépendant des paramètres. Les cubes sont conçus pour une analyse multidimensionnelle complexe gros volumes données car elles ne fournissent que des résultats résumés pour le reporting, au lieu de grand nombre enregistrements séparés.

Le concept d'OLAP a été décrit en 1993 par le célèbre chercheur et auteur de bases de données modèle relationnel données de E. F. Codd. Actuellement, la prise en charge d'OLAP est implémentée dans de nombreux SGBD et autres outils.

Un cube OLAP contient deux types de données :

· valeurs totales, valeurs pour lesquelles vous souhaitez résumer, représentant champs de données calculés;

· informations descriptives représentant mesures ou dimensions. Les informations descriptives sont généralement organisées en niveaux de détail. Par exemple : « Année », « Trimestre », « Mois » et « Jour » dans la dimension « Temps ». L'organisation des champs en niveaux de détail permet aux utilisateurs de rapports de choisir le niveau de détail qu'ils souhaitent afficher, en commençant par des données récapitulatives de haut niveau, puis en descendant vers une vue plus détaillée, et vice versa.

Les outils Microsoft Query vous permettent également de créer des cubes OLAP à partir d'une requête qui charge les données d'une base de données relationnelle telle que Microsoft Access, transformant une table linéaire en une hiérarchie structurée (cube).

L'assistant de création de cube OLAP est intégré Outil Microsoft Requête. Pour créer un cube OLAP basé sur une base de données relationnelle, vous devez effectuer les étapes suivantes avant d'exécuter l'assistant.

1. Déterminez la source de données (voir Figure 6.1).

2.C en utilisant Microsoft Requête pour créer une requête, incluant uniquement les champs qui seront soit des champs de données, soit des champs de dimension d'un cube OLAP ; si un champ d'un cube est utilisé plus d'une fois, il doit être inclus dans la requête le nombre de fois requis.

3. A la dernière étape de l'assistant de création de requête, positionnez le commutateur sur l'élément Créer un cube OLAP à partir d'une requête donnée(voir Fig. 6.2) ou après la création de la requête en utilisant directement le menu Requête Déposer sélectionner une équipe Créer un cube OLAP, après quoi l'assistant de création de cube OLAP sera lancé.

L'assistant de création de cube OLAP se compose de trois étapes.

À la première étape de l'assistant (voir Fig. 6.6), le champs de données– les champs calculés pour lesquels des valeurs totales doivent être déterminées.



Riz. 6.6. Définir des champs de données

L'assistant place les champs calculés attendus (généralement des champs numériques) en haut de la liste, les vérifie et détermine la fonction résultante de ces champs, généralement : Somme. Lors de la sélection des champs de données, au moins un champ doit être sélectionné comme champ calculé et au moins un champ doit être laissé décoché pour déterminer la dimension.

Lors de la création d'un cube OLAP, vous pouvez utiliser quatre fonctions récapitulatives - Somme, Nombre(nombre de valeurs), Minimum, Maximum pour les champs numériques et une fonction Nombre pour tous les autres domaines. Si vous souhaitez utiliser plusieurs fonctions récapitulatives différentes d'un même champ, ce champ doit être inclus dans la requête le nombre de fois requis.

Le nom d'un champ calculé peut être modifié dans une colonne Nom du champ de données.

Lors de la deuxième étape de l'assistant, les données descriptives et leurs dimensions sont déterminées (voir Fig. 6.7). Pour sélectionner un champ de mesure, vous devez dans la liste Champs sources faites glisser le champ de dimension de niveau supérieur souhaité vers la liste Mesuresà la zone marquée comme Faites glisser les champs ici pour créer des dimensions. Pour créer un cube OLAP, vous devez définir au moins une dimension. À la même étape de l'assistant, vous pouvez utiliser le menu contextuel pour modifier le nom du champ de dimension ou de niveau.

Riz. 6.7. Définir des champs de dimension

Les champs contenant des données isolées ou discrètes et n'appartenant pas à une hiérarchie peuvent être définis comme dimensions à un seul niveau. Cependant, le cube sera plus efficace si certains champs sont organisés en niveaux. Pour créer un niveau dans le cadre d'une dimension, faites glisser un champ de la liste Champs sources sur un champ qui est une dimension ou un niveau. Champs contenant plus de détails, devrait être situé plus niveaux bas. Par exemple, dans la figure 6.7, le champ Titre d'emploi est le niveau du champ Nom du département.

Pour déplacer un champ vers un niveau inférieur ou supérieur haut niveau, vous devez le faire glisser vers un champ inférieur ou supérieur dans la dimension. Pour afficher ou masquer les niveaux, utilisez respectivement les boutons ou .

Si vous utilisez des champs de date ou d'heure comme dimension de niveau supérieur, l'Assistant Cube OLAP crée automatiquement des niveaux pour ces dimensions. L'utilisateur peut alors sélectionner les niveaux qui doivent apparaître dans les rapports. Par exemple, vous pouvez sélectionner des semaines, des trimestres et des années, ou des mois (voir Figure 6.7).

N'oubliez pas que l'assistant crée automatiquement des niveaux pour les champs de date et d'heure uniquement lorsque vous créez une dimension de niveau supérieur ; Lors de l'ajout de ces champs en tant que sous-niveaux d'une dimension, les niveaux automatiques ne sont pas créés.

A la troisième étape de l'assistant, le type de cube créé par l'assistant est déterminé, avec trois options possibles (voir Fig. 6.8).

Riz. 6.8. Sélection du type de cube à créer à la troisième étape de l'assistant

· Les deux premières options impliquent la création d'un cube chaque fois que vous ouvrez un rapport (si le cube est affiché depuis Excel, alors nous parlons deà propos du tableau croisé dynamique). Dans ce cas, le dossier de requête et le dossier définitions de cubes *.oqy, qui contient des instructions pour créer un cube. Le fichier *.oqy peut être ouvert dans Programme Excel pour créer des rapports basés sur le cube, et si vous devez apporter des modifications au cube, vous pouvez l'ouvrir Requête pour redémarrage assistants de création de cubes.

Par défaut, les fichiers de définition de cube, comme les fichiers de requête, sont stockés dans le dossier du profil utilisateur dans Application Data\Microsoft\Que-ries. Lors de l'enregistrement d'un fichier *.oqy dans dossier standard, le nom du fichier de définition du cube est affiché sur l'onglet Cubes OLAP lors de l'ouverture d'une nouvelle requête dans Microsoft Query ou lors de la sélection d'une commande Créer une demande(menu Données, sous-menu Importer des données externes) dans Microsoft Excel.

· En cas de choix de la troisième option de type de cube Enregistrer un fichier de cube contenant toutes les données du cube, toutes les données du cube sont récupérées et un fichier de cube avec l'extension * est créé à un emplacement spécifié par l'utilisateur .cub, dans lequel ces données sont stockées. Ce fichier n'est pas créé immédiatement lorsque vous cliquez sur le bouton Prêt; le fichier est créé soit lorsque vous enregistrez la définition du cube dans un fichier, soit lorsque vous créez un rapport basé sur le cube.

Le choix du type de cube est déterminé par plusieurs facteurs : la quantité de données contenues dans le cube ; le type et la complexité des rapports qui seront créés sur la base du cube ; ressources système (mémoire et espace disque), etc.

Un fichier cube *.cub distinct doit être créé dans cas suivants:

1) pour les rapports interactifs fréquemment modifiés si l'espace disque est suffisant ;

2) lorsque vous devez enregistrer le cube sur un serveur réseau pour permettre à d'autres utilisateurs d'y accéder lors de la création de rapports. Un fichier cube peut fournir des données spécifiques de la base de données source, tout en omettant les données sensibles ou sensibles auxquelles vous souhaitez empêcher les autres utilisateurs d'accéder.

Dans le cadre de ces travaux, les problématiques suivantes seront considérées :

  • Que sont les cubes OLAP ?
  • Que sont les mesures, les dimensions, les hiérarchies ?
  • Quels types d’opérations peuvent être effectués sur les cubes OLAP ?
Le concept d'un cube OLAP

Le postulat principal d'OLAP est la multidimensionnalité dans la présentation des données. Dans la terminologie OLAP, le concept de cube, ou hypercube, est utilisé pour décrire un espace de données discret multidimensionnel.

Cube est une structure de données multidimensionnelle à partir de laquelle l'utilisateur-analyste peut interroger des informations. Les cubes sont créés à partir de faits et de dimensions.

Faits- ce sont des données sur les objets et les événements de l'entreprise qui feront l'objet d'une analyse. Des faits du même type forment des mesures. Une mesure est le type de valeur dans une cellule de cube.

Mesures- ce sont les éléments de données par lesquels les faits sont analysés. Une collection de ces éléments forme un attribut de dimension (par exemple, les jours de la semaine peuvent former un attribut de dimension temporelle). Dans les tâches d'analyse commerciale destinées aux entreprises commerciales, les dimensions incluent souvent des catégories telles que « temps », « ventes », « produits », « clients », « employés », « situation géographique". Les mesures sont le plus souvent structures hiérarchiques, qui sont des catégories logiques dans lesquelles l'utilisateur peut analyser les données réelles. Chaque hiérarchie peut avoir un ou plusieurs niveaux. Ainsi, la hiérarchie de la dimension « localisation géographique » peut comprendre les niveaux : « pays – région – ville ». Dans la hiérarchie temporelle, on peut distinguer par exemple la séquence de niveaux suivante : Une dimension peut avoir plusieurs hiérarchies (chaque hiérarchie d'une dimension doit avoir le même attribut clé de la table de dimension).

Un cube peut contenir des données réelles provenant d'une ou plusieurs tables de faits et contient le plus souvent plusieurs dimensions. Tout cube donné a généralement un objectif d'analyse spécifique.

La figure 1 montre un exemple de cube conçu pour analyser les ventes de produits pétroliers par une certaine entreprise par région. Ce cube comporte trois dimensions (temps, produit et région) et une mesure (volume des ventes exprimé en termes monétaires). Les valeurs de mesure sont stockées dans les cellules correspondantes du cube. Chaque cellule est identifiée de manière unique par un ensemble de membres de chaque dimension, appelé tuple. Par exemple, la cellule située dans le coin inférieur gauche du cube (contient la valeur $98399) est spécifiée par le tuple [juillet 2005, Extrême-Orient, Diesel]. Ici, la valeur de 98 399 dollars indique le volume des ventes (en termes monétaires) de diesel en Extrême-Orient pour juillet 2005.

Il convient également de noter que certaines cellules ne contiennent aucune valeur : ces cellules sont vides car la table de faits ne contient pas de données les concernant.

Riz. 1. Cube avec des informations sur les ventes de produits pétroliers dans diverses régions

Le but ultime créer de tels cubes consiste à minimiser le temps de traitement des requêtes qui extraient les informations requises des données réelles. Pour accomplir cette tâche, les cubes contiennent généralement des totaux précalculés appelés agrégations(agrégations). Ceux. le cube couvre un espace de données plus grand que l'espace réel - il contient des points logiques et calculés. Les fonctions d'agrégation vous permettent de calculer les valeurs des points dans l'espace logique en fonction des valeurs réelles. Les fonctions d'agrégation les plus simples sont SUM, MAX, MIN, COUNT. Ainsi, par exemple, en utilisant Fonction MAX, pour le cube donné dans l'exemple, il est possible d'identifier quand le pic des ventes de diesel s'est produit en Extrême-Orient, etc.

Une autre spécificité des cubes multidimensionnels est la difficulté de déterminer le point d’origine. Par exemple, comment définir le point 0 pour la dimension Produit ou Régions ? La solution à ce problème est de mettre en œuvre attribut spécial, qui regroupe tous les éléments de mesure. Cet attribut (créé automatiquement) ne contient qu'un seul élément - Tous. Pour les fonctions d'agrégation simples telles que sum, l'élément All est équivalent à la somme des valeurs de tous les éléments dans l'espace réel d'une dimension donnée.

Un concept important dans un modèle de données multidimensionnel est le sous-espace, ou sous-cube. Un sous-cube est une partie de l’espace complet d’un cube sous la forme d’une figure multidimensionnelle à l’intérieur du cube. Puisque l’espace multidimensionnel d’un cube est discret et limité, un sous-cube est également discret et limité.

Opérations sur les cubes OLAP

Les opérations suivantes peuvent être effectuées sur un cube OLAP :

  • tranche;
  • rotation;
  • consolidation;
  • détails.
Tranche(Figure 2) est un cas particulier de sous-cube. Il s'agit d'une procédure permettant de former un sous-ensemble d'un tableau de données multidimensionnel correspondant à une valeur unique d'un ou plusieurs éléments de dimension non inclus dans ce sous-ensemble. Par exemple, pour connaître l'évolution des ventes de produits pétroliers dans le temps uniquement dans une certaine région, à savoir l'Oural, il faut fixer la dimension « Produits » sur l'élément « Oural » et extraire le sous-ensemble (sous-cube) correspondant de l'élément « Oural ». cube.
  • Riz. 2. Tranche de cube OLAP

    Rotation(Figure 3) - l'opération de changement d'emplacement des mesures présentées dans un rapport ou sur la page affichée. Par exemple, une opération de rotation peut impliquer de réorganiser les lignes et les colonnes d’un tableau. De plus, la rotation d'un cube de données déplace les dimensions hors tabulaires vers les dimensions présentes sur la page affichée, et vice versa.

    04/07/2011 Derek Comingore

    Si vous avez travaillé dans un domaine lié à la technologie, vous avez probablement entendu le terme « cube » ; cependant, la plupart des administrateurs et développeurs de bases de données ordinaires ne travaillaient pas avec ces objets. Les cubes fournissent une architecture de données puissante pour agréger rapidement des informations multidimensionnelles. Si votre organisation a besoin d'analyser de gros volumes de données, alors solution idéale ce sera un cube

    Qu'est-ce qu'un cube ?

    Les bases de données relationnelles ont été conçues pour gérer des milliers de transactions simultanées tout en préservant les performances et l'intégrité des données. De par leur conception, les bases de données relationnelles ne sont pas efficaces pour agréger et rechercher de grands volumes de données. Pour agréger et renvoyer de gros volumes de données, une base de données relationnelle doit recevoir une requête basée sur un ensemble, dont les informations seront collectées et agrégées à la volée. De telles requêtes relationnelles sont très coûteuses car elles reposent sur plusieurs jointures et fonctions d'agrégation; Les requêtes relationnelles agrégées sont particulièrement inefficaces lorsque vous travaillez avec de grandes quantités de données.

    Les cubes sont des entités multidimensionnelles conçues pour éliminer l'inconvénient spécifié dans les bases de données relationnelles. En utilisant un cube, vous pouvez fournir aux utilisateurs une structure de données qui fournit une réponse rapide aux requêtes avec de grands volumes d'agrégation. Les cubes effectuent cette « magie d'agrégation » en agrégeant d'abord les données (dimensions) sur plusieurs dimensions. La pré-agrégation du cube est généralement effectuée lors du traitement. Lorsque vous traitez un cube, vous produisez des agrégations de données précalculées qui sont stockées sous forme binaire sur le disque.

    Le cube est la construction de données centrale du système d'analyse de données OLAP opérationnel SQL Server Analytical Services (SSAS). Les cubes sont généralement construits à partir d'une base de données relationnelle sous-jacente appelée modèle dimensionnel, mais sont des entités techniques distinctes. Logiquement, un cube est un entrepôt de données composé de dimensions (dimensions) et de mesures (mesures). Les dimensions contiennent des fonctionnalités descriptives et des hiérarchies, tandis que les dimensions sont les faits que vous décrivez dans les dimensions. Les dimensions sont regroupées en combinaisons logiques appelées groupes de dimensions. Vous associez des dimensions à des groupes de mesures en fonction d'une caractéristique : le degré de détail.

    DANS système de fichiers un cube est implémenté sous la forme d'une séquence de fichiers binaires liés. L'architecture binaire du cube facilite la récupération rapide de grands volumes de données multidimensionnelles.

    J'ai mentionné que les cubes sont construits à partir d'une base de données relationnelle sous-jacente appelée modèle dimensionnel. Le modèle dimensionnel contient des tables relationnelles (fait et dimension) qui le connectent aux entités du cube. Les tableaux de faits contiennent des dimensions telles que la quantité d'un produit vendu. Les tables de dimensions stockent des attributs descriptifs tels que les noms de produits, les dates et les noms d'employés. En règle générale, les tables de faits et les tables de dimensions sont liées via des contraintes de clé étrangère primaire, les clés étrangères étant situées dans la table de faits (cette relation relationnelle est liée à l'attribut de granularité du cube évoqué ci-dessus). Lorsque les tables de dimensions sont liées directement à une table de faits, un schéma en étoile est formé. Lorsque les tables de dimensions ne sont pas directement liées à une table de faits, le résultat est un schéma en flocon de neige.

    Veuillez noter que les modèles dimensionnels sont classés selon l'application. Un datamart est un modèle dimensionnel conçu pour un processus métier unique, tel que les ventes ou la gestion des stocks. Un entrepôt de données est un modèle dimensionnel conçu pour capturer les processus métier des composants afin de faciliter l'analyse des processus inter-métiers.

    Exigences logicielles

    Maintenant que vous avez une compréhension de base de ce que sont les cubes et pourquoi ils sont importants, je vais mettre les choses en marche et vous faire découvrir étape par étape la construction de votre premier cube à l'aide de SSAS. Vous aurez besoin de certains composants logiciels de base, donc avant de commencer à créer votre premier cube, assurez-vous que votre système répond aux exigences.

    Mon exemple de cube de ventes sur Internet sera construit à partir de la base de données de test AdventureWorksDW 2005. Je vais créer le cube de test à partir d'un sous-ensemble de tables trouvées dans la base de données de test qui seront utiles pour analyser les données de ventes sur Internet. La figure 1 montre la disposition de base des tables de base de données. Puisque j'utilise la version 2005, vous pouvez suivre mes instructions en utilisant SQL Server 2005 ou SQL Server 2008.

    Figure 1. Sous-ensemble du datamart Adventure Works Internet Sales

    La base de données de formation Adventure WorksDW 2005 est disponible sur le site Web CodePlex : msftdbprodsamples.codeplex.com. Recherchez le lien « Les exemples de bases de données de produits SQL Server 2005 sont toujours disponibles » (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). La base de données de formation est contenue dans le fichier AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755).

    Comme déjà mentionné, vous devez avoir accès à Instance SQL Server 2008 ou 2005, y compris les composants SSAS et Business Intelligence Development Studio (BIDS). J'utiliserai SQL Server 2008, vous constaterez donc peut-être des différences subtiles si vous utilisez SQL Server 2005.

    Création d'un projet SSAS

    La première chose à faire est de créer un projet SSAS à l'aide de BIDS. Recherchez BIDS dans le menu Démarrer et plus loin dans le menu MicrosoftSQL Sous-élément Server 2008/2005 SQL Server Business Intelligence Development Studio. En cliquant sur ce bouton, vous lancerez BIDS avec l'écran de démarrage par défaut. Créer nouveau projet SSAS en sélectionnant Fichier, Nouveau, Projet. Vous verrez la boîte de dialogue Nouveau projet, illustrée par la figure 1. Sélectionnez le dossier Projet Analysis Services et définissez la description du projet sur SQLMAG_MyFirstCube. Cliquez sur OK.

    Une fois le projet créé, cliquez dessus clic droit souris dans l'Explorateur de solutions et sélectionnez menu contextuelÉlément de propriétés. Sélectionnez maintenant la section Déploiement sur le côté gauche de la boîte de dialogue SQLMAG_MyFirstCube : Pages de propriétés et examinez les paramètres du serveur cible et de la base de données, comme le montre la figure 2. Si vous travaillez dans un environnement SQL Server distribué, vous devrez vous qualifier. la propriété Target Server avec le nom du serveur sur lequel vous allez déployer. Cliquez sur OK lorsque vous êtes satisfait définir des valeurs options de déploiement pour de ce projet SSAS.

    Définir la source de données

    Le premier objet que vous devez créer est la source de données. Un objet source de données fournit le schéma et les données utilisés pour créer les objets associés et à la base du cube. Pour créer un objet source de données dans BIDS, utilisez l'Assistant Source Données Assistant Source.

    Démarrez l'Assistant Source de données en cliquant avec le bouton droit sur le dossier Source de données dans le panneau Explorateur de solutions et en sélectionnant Nouvelle source de données. Vous constaterez que la création d'objets SSAS dans BIDS a une nature développementale. Tout d'abord, l'assistant vous guide tout au long du processus de création d'un objet et paramètres généraux. Ensuite, vous ouvrez l'objet SSAS résultant dans le concepteur et le personnalisez en détail si nécessaire. Une fois que vous avez dépassé l'écran d'invite, définissez une nouvelle connexion de données en cliquant sur le bouton Nouveau. Sélectionnez et créez une nouvelle connexion Native OLEDB\SQL Server Native Client 10 pointant vers le serveur SQL souhaité qui possède l'instance de base de données souhaitée. Vous pouvez utiliser soit Authentification Windows, ou SQL Server, selon les paramètres environnement Serveur SQL. Cliquez sur le bouton Tester la connexion pour vous assurer que vous avez correctement défini la connexion à la base de données, puis sur le bouton OK.

    Viennent ensuite les informations d'usurpation d'identité (informations relatives à la mise en place d'un emprunt de droits) qui, comme le lien avec les données, dépendent de la façon dont le Environnement SQL Serveur. L'emprunt de privilèges est le contexte de sécurité sur lequel SSAS s'appuie lors du traitement de ses objets. Si vous gérez votre déploiement sur un serveur unique principal (ou un ordinateur portable), comme je suppose que la plupart des lecteurs le sont, vous pouvez simplement sélectionner l'option Utiliser le compte de service. Cliquez sur Suivant pour terminer l'assistant de source de données et définissez AWDW2005 comme nom de source de données. Il est très pratique d'utiliser cette méthode à des fins de test, mais dans un environnement de production réel, ce n'est pas une bonne pratique d'utiliser un compte de service. Il est préférable de spécifier le domaine comptes pour emprunter les droits de connexion SSAS à la source de données.

    Vue de la source de données

    Pour la source de données que vous avez définie, l'étape suivante du processus de création du cube SSAS consiste à créer une vue de source de données (DSV). DSV offre la possibilité de séparer le schéma attendu par votre cube de celui de la base de données sous-jacente. Par conséquent, DSV peut être utilisé pour étendre le schéma relationnel sous-jacent lors de la création d'un cube. Certaines des fonctionnalités clés de DSV pour l'extension des schémas de sources de données incluent les requêtes nommées, les relations logiques entre les tables et les colonnes calculées nommées.

    Allons-y et cliquez avec le bouton droit sur le dossier DSV et sélectionnez Nouvelle vue de source de données pour lancer l'assistant Créer une nouvelle vue DSV. Dans la boîte de dialogue, à l'étape Sélectionner une source de données, sélectionnez la connexion à base relationnelle données et cliquez sur Suivant. Sélectionnez les tables FactInternetSales, DimProduct, DimTime, DimCustomer et cliquez sur le bouton fléché droit pour déplacer ces tables vers la colonne Inclus. Enfin, cliquez sur Suivant et terminez l'assistant en acceptant le nom par défaut et en cliquant sur Terminer.

    Sur à ce stade vous devriez avoir une vue DSV située sous le dossier Vues de source de données dans l'Explorateur de solutions. Exécuter double-cliquez sur le nouveau DSV pour lancer le DSV designer. Vous devriez voir les quatre tableaux pour un DSV donné, comme le montre la figure 2.

    Création de dimensions de base de données

    Comme je l'ai expliqué ci-dessus, les dimensions fournissent des fonctionnalités descriptives des dimensions et des hiérarchies qui sont utilisées pour permettre l'agrégation au-dessus du niveau de détail. Il est important de comprendre la différence entre une dimension de base de données et une dimension de cube : les dimensions de la base de données fournissent les objets de dimension sous-jacents pour les différentes dimensions du cube qui seront utilisées pour construire le cube.

    Les dimensions de base de données et de cube offrent une solution élégante à un concept connu sous le nom de « dimensions de rôle ». Les dimensions basées sur les rôles sont utilisées lorsque vous devez utiliser plusieurs fois une seule dimension dans un cube. La date est un exemple parfait dans cette instance de cube : vous allez construire une seule dimension de date et la référencer une fois pour chaque date pour laquelle vous souhaitez analyser les ventes en ligne. La date du calendrier sera la première dimension que vous créerez. Cliquez avec le bouton droit sur le dossier Dimensions dans l'Explorateur de solutions et sélectionnez Nouvelle dimension pour lancer l'assistant de dimension. Sélectionnez Utiliser une table existante et cliquez sur Suivant dans l'étape de sélection de la méthode. création Sélectionner Méthode de création. À l'étape Spécifier les informations sur la source, spécifiez la table DimTime dans la liste déroulante Table principale et cliquez sur Suivant. Maintenant, à l'étape Sélectionner les attributs de la dimension, vous devez sélectionner les attributs de la dimension temporelle. Sélectionnez chaque attribut, comme le montre la figure 3.

    Cliquez sur Suivant. À la dernière étape, saisissez Dim Date dans le champ Nom et cliquez sur Terminer pour terminer l'assistant de dimensionnement. Vous devriez maintenant voir la nouvelle dimension Dim Date située sous le dossier Dimensions dans l’Explorateur de solutions.

    Utilisez ensuite l'Assistant Dimension pour créer des dimensions produit et client. Suivez les mêmes étapes pour créer la dimension de base que précédemment. Lorsque vous travaillez avec l'assistant de dimension, assurez-vous de sélectionner tous les attributs potentiels à l'étape Sélectionner les attributs de dimension. Les valeurs par défaut des autres paramètres conviennent à une instance de cube de test.

    Créer un cube de vente sur Internet

    Maintenant que vous avez préparé les dimensions de la base de données, vous pouvez commencer à créer le cube. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier Cubes et sélectionnez Nouveau Cube pour lancer l'Assistant Cube. Dans la fenêtre Sélectionner la méthode de création, sélectionnez l'option Utiliser les tables existantes. Sélectionnez la table FactInternetSales pour le groupe de mesures à l’étape Sélectionner les tables du groupe de mesures. Décochez les cases en regard des dimensions Clé de promotion, Clé de devise, Clé de territoire de vente et Numéro de révision à l'étape Sélectionner les mesures, puis cliquez sur Suivant.

    Sur l'écran Sélectionner les dimensions existantes, assurez-vous que toutes les dimensions de base de données existantes sont sélectionnées pour être utilisées comme dimensions de cube. Parce que je souhaite garder ce cube aussi simple que possible, désélectionnez la dimension FactInternetSales à l'étape Sélectionner de nouvelles dimensions. En laissant la dimension FactInternetSales sélectionnée, vous créerez ce que l'on appelle une dimension de fait ou dimension dégénérée. Les dimensions de faits sont des dimensions créées à l'aide d'une table de faits principale, par opposition à une table de dimensions traditionnelle.

    Cliquez sur Suivant pour passer à l'étape Fin de l'assistant et saisissez « Mon premier cube » dans le champ Nom du cube. Cliquez sur le bouton Terminer pour terminer le processus de l'assistant de création de cube.

    Expansion et traitement d'un cube

    Vous êtes maintenant prêt à déployer et traiter le premier cube. Cliquez avec le bouton droit sur l’icône du nouveau cube dans l’Explorateur de solutions et sélectionnez Processus. Vous verrez une boîte de message indiquant que le contenu semble obsolète. Cliquez sur Oui pour déployer le nouveau cube sur le serveur SSAS cible. Lorsque vous déployez un cube que vous envoyez Fichier XML for Analisis (XMLA) vers le serveur SSAS cible, qui crée un cube sur le serveur lui-même. Comme mentionné, le traitement d'un cube remplit ses fichiers binaires sur le disque avec les données de la source principale, ainsi que les métadonnées supplémentaires que vous avez ajoutées (dimensions, dimensions et paramètres du cube).

    Une fois le processus de déploiement terminé, une nouvelle boîte de dialogue Process Cube apparaît. Cliquez sur le bouton Exécuter pour commencer le traitement du cube, qui s'ouvre avec la fenêtre Progression du processus. Une fois le traitement terminé, cliquez sur Fermer (deux fois pour fermer les deux boîtes de dialogue) pour terminer les processus de déploiement et de traitement du cube.

    Vous avez maintenant construit, déployé et traité votre premier cube. Vous pouvez afficher ce nouveau cube en cliquant dessus avec le bouton droit dans la fenêtre de l'Explorateur de solutions et en sélectionnant Parcourir. Faites glisser les dimensions vers le centre du tableau croisé dynamique et les attributs de dimension sur les lignes et les colonnes pour explorer votre nouveau cube. Remarquez la rapidité avec laquelle le cube est traité diverses demandes avec agrégation. Vous pouvez désormais apprécier la puissance illimitée, et donc la valeur commerciale, du cube OLAP.

    Derek Comingore ( [email protégé]) est architecte senior chez B.I. Voyage, qui possède le statut de partenaire Microsoft dans le domaine de l'analyse commerciale. Possède le titre SQL Server MVP et plusieurs certifications Microsoft



    En général, tous les spécialistes savent ce qu'est OLAP aujourd'hui. Au moins, les concepts « OLAP » et « données multidimensionnelles » sont fermement liés dans nos esprits. Néanmoins, le fait que ce sujet soit à nouveau évoqué, j'espère, sera approuvé par la majorité des lecteurs, car pour que l'idée de​​quelque chose ne devienne pas obsolète avec le temps, il faut communiquer périodiquement avec des gens intelligents ou lire des articles dans une bonne publication...

    Entrepôts de données (place d'OLAP dans la structure informationnelle de l'entreprise)

    Le terme « OLAP » est inextricablement lié au terme « entrepôt de données » (Data Warehouse).

    Voici la définition formulée par le « père fondateur » de l’entreposage de données, Bill Inmon : « Un entrepôt de données est une collection de données immuables, spécifiques à un domaine, destinées à soutenir la prise de décision de gestion. »

    Les données entrent dans le stockage à partir de systèmes d'exploitation(Systèmes OLTP), conçus pour automatiser les processus métier. De plus, le stockage peut être reconstitué par sources externes, par exemple des rapports statistiques.

    Pourquoi créer des entrepôts de données - après tout, ils contiennent des informations manifestement redondantes qui « vivent » déjà dans des bases de données ou des fichiers du système d'exploitation ? La réponse peut être brève : il est impossible ou très difficile d’analyser directement les données des systèmes d’exploitation. Cela est dû à diverses raisons, notamment la fragmentation des données, leur stockage dans différents formats de SGBD et dans différents « coins » du réseau d'entreprise. Mais même si une entreprise stocke toutes ses données sur un serveur de base de données central (ce qui est extrêmement rare), un analyste ne comprendra certainement pas leurs structures complexes, parfois déroutantes. L'auteur a une triste expérience en essayant de « nourrir » des analystes affamés avec des données « brutes » provenant de systèmes opérationnels - cela s'est avéré « trop pour eux ».

    Ainsi, le but du référentiel est de fournir les « matières premières » à analyser en un seul endroit et dans une structure simple et compréhensible. Ralph Kimball, dans la préface de son livre The Data Warehouse Toolkit, écrit que si, après avoir lu l'intégralité du livre, le lecteur ne comprend qu'une chose - à savoir que la structure de l'entrepôt doit être simple - l'auteur considérera sa tâche accomplie. .

    Il y a une autre raison qui justifie l'apparition d'un référentiel séparé : les requêtes analytiques complexes sur les informations opérationnelles ralentissent travail en cours entreprises, bloquant les tables pendant longtemps et s'emparant des ressources du serveur.

    À mon avis, un référentiel ne signifie pas nécessairement une gigantesque accumulation de données - l'essentiel est qu'il soit pratique pour l'analyse. D'une manière générale, il existe un terme distinct pour les petites installations de stockage - Data Marts (kiosques de données), mais dans notre pratique russe, vous ne l'entendez pas souvent.

    OLAP - un outil d'analyse pratique

    La centralisation et une structuration pratique ne sont pas tout ce dont un analyste a besoin. Il a encore besoin d'un outil pour visualiser et visualiser les informations. Les rapports traditionnels, même ceux construits sur un référentiel unique, manquent d'une chose : la flexibilité. Ils ne peuvent pas être « tordus », « développés » ou « réduits » pour obtenir la vue souhaitée des données. Bien sûr, vous pouvez appeler un programmeur (s'il veut venir), et il (s'il n'est pas occupé) fera un nouveau rapport assez rapidement - disons, dans l'heure (j'écris ceci et je ne crois pas moi-même - ça n'arrive pas si vite dans la vie ; donnons-lui trois heures) . Il s’avère qu’un analyste ne peut tester que deux idées par jour. Et lui (s'il est un bon analyste) peut proposer plusieurs idées de ce type par heure. Et plus l'analyste voit de « tranches » et de « sections » de données, plus il a d'idées, qui, à leur tour, nécessitent de plus en plus de « tranches » pour être vérifiées. Si seulement il disposait d’un outil qui lui permettrait d’agrandir et de réduire les données de manière simple et pratique ! OLAP agit comme un tel outil.

    Bien qu'OLAP ne soit pas un attribut nécessaire d'un entrepôt de données, il est de plus en plus utilisé pour analyser les informations accumulées dans l'entrepôt.

    Les composants inclus dans un référentiel typique sont illustrés à la Fig. 1.

    Riz. 1. Structure de l'entrepôt de données

    Les données opérationnelles sont collectées auprès de diverses sources, nettoyées, intégrées et stockées dans un magasin relationnel. De plus, ils sont déjà disponibles pour analyse à l’aide de divers outils de reporting. Ensuite, les données (en totalité ou en partie) sont préparées pour l'analyse OLAP. Ils peuvent être chargés dans une base de données OLAP spéciale ou laissés dans stockage relationnel. Son élément le plus important sont les métadonnées, c'est-à-dire les informations sur la structure, le placement et la transformation des données. Grâce à eux, une interaction efficace des différents composants de stockage est assurée.

    Pour résumer, on peut définir OLAP comme un ensemble d'outils d'analyse multidimensionnelle des données accumulées dans un entrepôt. Théoriquement, les outils OLAP peuvent être appliqués directement aux données opérationnelles ou copies exactes(pour ne pas gêner utilisateurs opérationnels). Mais nous risquons ainsi de marcher sur le râteau déjà décrit ci-dessus, c'est-à-dire de commencer à analyser des données opérationnelles qui ne se prêtent pas directement à l'analyse.

    Définition et concepts de base d'OLAP

    Tout d'abord, décryptons : OLAP est Online Analytical Processing, c'est-à-dire l'analyse de données opérationnelles. Les 12 principes déterminants d'OLAP ont été formulés en 1993 par E. F. Codd, « l'inventeur » des bases de données relationnelles. Sa définition a ensuite été retravaillée dans le test dit FASMI, qui nécessite que l'application OLAP offre la possibilité d'analyser rapidement les informations multidimensionnelles partagées ().

    Test FASMI

    Rapide(Rapide) - l'analyse doit être effectuée tout aussi rapidement sur tous les aspects de l'information. Délai acceptable réponse - 5 s ou moins.

    Analyse(Analyse) - il doit être possible d'effectuer des types d'analyse numérique et statistique de base, prédéfinis par le développeur de l'application ou librement définis par l'utilisateur.

    Commun(Partagé) - de nombreux utilisateurs doivent avoir accès aux données, alors qu'il est nécessaire de contrôler l'accès aux informations confidentielles.

    Multidimensionnel(Multidimensionnel) est la caractéristique principale et la plus essentielle d'OLAP.

    Information(Information) - l'application doit pouvoir accéder à n'importe quel informations nécessaires, quels que soient son volume et son emplacement de stockage.

    OLAP = Vue multidimensionnelle = Cube

    OLAP offre des moyens pratiques et rapides d'accéder, de visualiser et d'analyser les informations commerciales. L'utilisateur reçoit un modèle de données naturel et intuitif, les organisant sous forme de cubes multidimensionnels (Cubes). Les axes du système de coordonnées multidimensionnel sont les principaux attributs du processus métier analysé. Par exemple, pour les ventes, il peut s'agir d'un produit, d'une région ou d'un type d'acheteur. Le temps est utilisé comme l’une des dimensions. Aux intersections des axes - dimensions (Dimensions) - se trouvent des données qui caractérisent quantitativement le processus - mesures (Mesures). Il peut s'agir de volumes de ventes en morceaux ou en termes monétaires, de soldes de stocks, de coûts, etc. Un utilisateur analysant les informations peut « découper » le cube dans différentes directions, obtenir un récapitulatif (par exemple, par année) ou, à l'inverse, détaillé (par semaine) informations et effectuer d'autres manipulations qui lui viennent à l'esprit au cours du processus d'analyse.

    Comme les mesures dans le cube tridimensionnel montré sur la Fig. 2, le montant des ventes est utilisé et le temps, le produit et le magasin sont utilisés comme dimensions. Les mesures sont présentées à des niveaux de regroupement spécifiques : les produits sont regroupés par catégorie, les magasins par pays et les délais de transaction sont regroupés par mois. Un peu plus tard, nous examinerons plus en détail les niveaux de regroupement (hiérarchie).


    Riz. 2. Exemple de cube

    "Découper" un cube

    Même un cube tridimensionnel est difficile à afficher sur un écran d'ordinateur pour que les valeurs des mesures d'intérêt soient visibles. Que dire des cubes à plus de trois dimensions ? Pour visualiser les données stockées dans un cube, on utilise généralement des vues bidimensionnelles familières, c'est-à-dire tabulaires, avec des en-têtes de lignes et de colonnes hiérarchiques complexes.

    Une représentation bidimensionnelle d'un cube peut être obtenue en le « coupant » selon un ou plusieurs axes (dimensions) : on fixe les valeurs de toutes les dimensions sauf deux, et on obtient un tableau bidimensionnel régulier. L'axe horizontal du tableau (en-têtes de colonnes) représente une dimension, l'axe vertical (en-têtes de lignes) en représente une autre et les cellules du tableau représentent les valeurs des mesures. Dans ce cas, un ensemble de mesures est en fait considéré comme l'une des dimensions - soit nous sélectionnons une mesure à afficher (et nous pouvons ensuite placer deux dimensions dans les en-têtes de ligne et de colonne), soit nous montrons plusieurs mesures (et ensuite l'une des les axes du tableau seront occupés par les noms des mesures, et les autres - les valeurs de la seule dimension « non coupée »).

    Jetez un œil à la fig. 3 - voici une tranche bidimensionnelle du cube pour une mesure - Ventes unitaires (pièces vendues) et deux dimensions "non coupées" - Store (Store) et Time (Time).


    Riz. 3. Tranche de cube 2D pour une mesure

    Sur la fig. La figure 4 ne montre qu'une seule dimension « non coupée » - Magasin, mais elle affiche les valeurs de plusieurs mesures - Ventes unitaires (unités vendues), Ventes en magasin (montant de la vente) et Coût du magasin (dépenses du magasin).


    Riz. 4. Tranche de cube 2D pour plusieurs mesures

    Une représentation bidimensionnelle d'un cube est également possible lorsque plus de deux dimensions restent « non coupées ». Dans ce cas, deux dimensions ou plus du cube « coupé » seront placées sur les axes de tranche (lignes et colonnes) - voir Fig. 5.


    Riz. 5. Tranche de cube 2D avec plusieurs dimensions sur un axe

    Balises

    Les valeurs « posées » le long des dimensions sont appelées membres ou étiquettes. Les étiquettes servent à la fois à « couper » le cube et à limiter (filtrer) les données sélectionnées - lorsque dans une dimension qui reste « non coupée », on ne s'intéresse pas à toutes les valeurs, mais à un sous-ensemble d'entre elles, par exemple trois villes sur plusieurs dizaines. Les valeurs d'étiquette apparaissent dans la vue du cube 2D sous forme d'en-têtes de ligne et de colonne.

    Hiérarchies et niveaux

    Les étiquettes peuvent être combinées en hiérarchies composées d'un ou plusieurs niveaux. Par exemple, les labels de la dimension Store sont naturellement regroupés dans une hiérarchie avec des niveaux :

    Pays

    État

    Ville

    Magasin.

    Les valeurs agrégées sont calculées en fonction des niveaux de hiérarchie, par exemple volume des ventes pour les USA (niveau "Pays") ou pour la Californie (niveau "État"). Il est possible d'implémenter plusieurs hiérarchies dans une dimension - par exemple, pour le temps : (Année, Trimestre, Mois, Jour) et (Année, Semaine, Jour).

    Architecture des applications OLAP

    Tout ce qui a été dit ci-dessus à propos d'OLAP concernait essentiellement la présentation multidimensionnelle des données. La manière dont les données sont stockées, en gros, ne concerne ni l'utilisateur final ni les développeurs de l'outil utilisé par le client.

    La multidimensionnalité dans les applications OLAP peut être divisée en trois niveaux :

    • Représentation des données multidimensionnelles : outils pour l'utilisateur final qui permettent une visualisation et une manipulation multidimensionnelles des données ; La couche de représentation multidimensionnelle fait abstraction de la structure physique des données et traite les données comme multidimensionnelles.
    • Le traitement multidimensionnel est un moyen (langage) pour formuler des requêtes multidimensionnelles (le langage relationnel traditionnel SQL n'est pas adapté ici) et un processeur capable de traiter et d'exécuter une telle requête.
    • Le stockage multidimensionnel est un moyen d'organiser physiquement les données qui fournissent mise en œuvre efficace requêtes multidimensionnelles.

    Les deux premiers niveaux sont obligatoires dans tous les outils OLAP. Le troisième niveau, bien que répandu, n'est pas nécessaire, puisque les données pour une représentation multidimensionnelle peuvent être extraites de structures relationnelles ordinaires ; Le processeur de requêtes multidimensionnelles dans ce cas traduit les requêtes multidimensionnelles en requêtes SQL qui sont exécutées SGBD relationnel.

    En règle générale, les produits OLAP spécifiques sont soit un outil de présentation de données multidimensionnelles, un client OLAP (par exemple, les tableaux croisés dynamiques dans Excel 2000 de Microsoft ou ProClarity de Knosys), soit un serveur SGBD multidimensionnel, un serveur OLAP (par exemple, Oracle Serveur express ou Microsoft OLAP Services).

    La couche de traitement multidimensionnel est généralement intégrée au client OLAP et/ou au serveur OLAP, mais peut être isolée sous sa forme pure, comme le composant Pivot Table Service de Microsoft.

    Aspects techniques du stockage de données multidimensionnelles

    Comme mentionné ci-dessus, les outils d'analyse OLAP peuvent également extraire des données directement de systèmes relationnels. Cette approche était plus attractive à l'époque où les serveurs OLAP n'étaient pas inclus dans les listes de prix des principaux fabricants de SGBD. Mais aujourd'hui, Oracle, Informix et Microsoft proposent des serveurs OLAP à part entière, et même aux responsables informatiques qui n'aiment pas créer un « zoo » de logiciels dans leurs réseaux. différents fabricants, peut acheter (plus précisément, faire une demande correspondante à la direction de l'entreprise) un serveur OLAP de la même marque que serveur principal bases de données.

    Les serveurs OLAP, ou serveurs de bases de données multidimensionnelles, peuvent stocker leurs données multidimensionnelles de différentes manières. Avant d’envisager ces méthodes, nous devons parler d’un aspect aussi important que le stockage des unités. Le fait est que dans tout entrepôt de données - à la fois ordinaire et multidimensionnel - à côté des données détaillées extraites des systèmes opérationnels, des indicateurs récapitulatifs (indicateurs agrégés, agrégations) sont également stockés, comme la somme des volumes de ventes par mois, par catégorie marchandises, etc. . Les agrégats sont stockés explicitement dans le seul but d'accélérer l'exécution des requêtes. Après tout, d'une part, en règle générale, une très grande quantité de données est accumulée dans l'entrepôt, et d'autre part, les analystes ne s'intéressent dans la plupart des cas pas à des indicateurs détaillés, mais à des indicateurs généralisés. Et s’il fallait additionner à chaque fois des millions de ventes individuelles pour calculer le total des ventes de l’année, la rapidité serait probablement inacceptable. Par conséquent, lors du chargement des données dans une base de données multidimensionnelle, tous les indicateurs totaux ou une partie d'entre eux sont calculés et enregistrés.

    Mais comme vous le savez, il faut tout payer. Et il faut payer pour la rapidité de traitement des demandes de données récapitulatives en augmentant le volume des données et le temps de chargement. De plus, une augmentation du volume peut devenir littéralement catastrophique - selon l'un des tests standardisés un calcul complet des agrégats pour 10 Mo de données originales nécessitait 2,4 Go, c'est-à-dire que les données ont augmenté 240 fois ! Le degré de « gonflement » des données lors du calcul des agrégats dépend du nombre de dimensions du cube et de la structure de ces dimensions, c'est-à-dire le rapport du nombre de « pères » et d'« enfants » par différents niveaux mesures. Pour résoudre le problème du stockage des unités, on les utilise parfois circuits complexes, qui permettent d'obtenir une augmentation significative des performances des requêtes lors du calcul de tous les agrégats possibles.

    Maintenant à propos diverses options stockage d'informations. Les données granulaires et les agrégats peuvent être stockés dans des structures relationnelles ou multidimensionnelles. Le stockage multidimensionnel vous permet de traiter les données comme un tableau multidimensionnel, ce qui garantit des calculs tout aussi rapides d'indicateurs totaux et diverses transformations multidimensionnelles selon n'importe quelle dimension. Il y a quelque temps, les produits OLAP prenaient en charge le stockage relationnel ou multidimensionnel. Aujourd'hui, en règle générale, le même produit propose ces deux types de stockage, ainsi qu'un troisième type - mixte. Les conditions suivantes s'appliquent :

    • MOLAP(OLAP multidimensionnel) - les données détaillées et les agrégats sont stockés dans une base de données multidimensionnelle. Dans ce cas, la plus grande redondance est obtenue, puisque les données multidimensionnelles contiennent entièrement des données relationnelles.
    • ROLAP(OLAP relationnel) - les données détaillées restent là où elles « vivaient » à l'origine - dans la base de données relationnelle ; les agrégats sont stockés dans la même base de données dans des tables de service spécialement créées.
    • HOLAP(OLAP hybride) : les données détaillées restent en place (dans une base de données relationnelle) et les agrégats sont stockés dans une base de données multidimensionnelle.

    Chacune de ces méthodes a ses propres avantages et inconvénients et doit être utilisée en fonction des conditions - le volume de données, la puissance du SGBD relationnel, etc.

    Lors du stockage de données dans des structures multidimensionnelles, des problèmes surviennent. problème potentiel"gonflement" dû au stockage de valeurs vides. Après tout, si dans un tableau multidimensionnel l'espace est réservé à tout combinaisons possibles marques de mesure, et seule une petite partie est réellement remplie (par exemple, un certain nombre de produits ne sont vendus que dans un petit nombre de régions), alors la majeure partie du cube sera vide, bien que l'espace soit occupé. Les produits OLAP modernes peuvent résoudre ce problème.

    À suivre. À l'avenir, nous parlerons de produits OLAP spécifiques fabriqués par les principaux fabricants.

    Les flèches bleues indiquent les chemins par lesquels les informations entrent dans le système ; les flèches vertes indiquent comment les informations sont ensuite utilisées.

    1. Les informations sur les commandes sont saisies dans le système 1C - version dbf.
    2. Chargement des données "auto-échange". En fait, c'est une étape supplémentaire. Les données peuvent être obtenues directement à partir de la base de données dbf. Mais les programmeurs 1c ont décidé que le mécanisme de téléchargement de données standard (pour 1c) ferait moins de mal.
    3. Une fois par jour, les modifications de la journée écoulée sont téléchargées dans une base de données MsSql spécialement préparée - le stockage. Toutes les informations ne sont pas téléchargées, mais uniquement celles nécessaires aux cubes.

      En principe, il n'est pas nécessaire de construire un « entrepôt ». Les données du cube peuvent être obtenues directement à partir de la base de données 1C (MsSQL ou dbf). Mais dans mon cas, à partir de 1C, les données des périodes précédentes sont périodiquement supprimées et les répertoires sont effacés. De plus, avant de charger dans le stockage, les données sont un peu « nettoyées ».

    4. Le cube est recalculé - les données entrent dans le cube.
    Les informations du stockage sont utilisées non seulement par les cubes, mais également applications externes, par exemple, ces données sont nécessaires pour calculer les salaires, pour comptabiliser les paiements et les fournitures, pour planifier le travail d'un manager. Dans le même temps, les données de ces programmes externes entrent également dans les cubes.

    Les employés du bureau travaillent avec des cubes - direction, managers, marketing, comptabilité. Des informations sont également envoyées aux fournisseurs et aux commerciaux en différentes villes zones.

    Tout utilisateur peut obtenir des informations de différentes manières :

    1. Créez vous-même un rapport sur une page Web ou dans Excel

      Au début, seul Excel était utilisé, mais de nombreux problèmes sont apparus avec la « dispersion » des fichiers Excel ; il était nécessaire de disposer d'un « point d'entrée » pour sélectionner les informations.
      Par conséquent, un site local a été créé sur lequel les pages du tableau croisé dynamique ont été publiées. Un employé qui souhaite obtenir quelques chiffres « ici et maintenant » se rend sur ce site et crée un rapport sous la forme dont il a besoin. Si une personne a besoin d'utiliser ce rapport à l'avenir, elle peut rédiger une demande pour que son rapport soit publié dans SSRS ou le sauvegarder lui-même dans Excel.

    2. Afficher un rapport standard publié sur SQL Server Reporting Services (SSRS)
    3. Obtenez un cube local et « faites pivoter » les données en dehors du bureau à l'aide d'Excel
    4. Abonnez-vous à la newsletter et recevez les rapports standards de SSRS par e-mail
    5. Le service marketing utilise également le programme CubeSlice. Vous pouvez y créer vous-même des cubes locaux et c'est beaucoup plus pratique que dans Excel

    Cubes locaux

    Parfois, un utilisateur doit recevoir périodiquement des rapports contenant de grandes quantités de données. Par exemple, le service marketing envoyait des rapports aux fournisseurs sous forme de fichiers Excel contenant plusieurs dizaines de pages.
    Olap n'est pas conçu pour recevoir de telles informations - la génération des rapports a pris beaucoup de temps.

    En règle générale, il est également peu pratique pour le fournisseur de travailler avec des rapports volumineux. Par conséquent, la plupart d'entre eux, ayant essayé de travailler avec des cubes locaux, ont accepté de recevoir des rapports sous cette forme. La liste des rapports générés par le service marketing a été considérablement réduite. Les rapports lourds restants ont été implémentés dans SSRS, des abonnements ont été créés (les rapports sont générés automatiquement et envoyés aux fournisseurs selon un calendrier)

    Paramètres système de base

    Configuration du serveur :

    processeur : 2xAMD Opteron 280
    mémoire : 4 Go
    baies de disques :
    système d'exploitation : RAID 1 (miroir) 2xSCSI 15k
    données : RAID 0+1 4xSCSI 10k

    D'accord, il est difficile d'appeler une telle machine un serveur « puissant »

    Volume de données :

    10 Go de stockage, données depuis 2002
    agrégation 30%
    Taille de la base de données multidimensionnelle 350 M
    nombre de membres de « grandes dimensions » : marchandises 25 mille, adresses – 20 mille.
    nombre de documents par jour - 400. nombre moyen de lignes dans un document - 30

    Ce avec quoi l’entreprise s’est retrouvée :

    Avantages

    • Pour la gestion de l'entreprise
      Vous permet de regarder la situation « d'en haut » et d'identifier les modèles généraux de développement commercial.
      Aide à suivre la dynamique des changements dans les principaux indicateurs de performance de l'organisation dans son ensemble et à évaluer rapidement les indicateurs de performance des subordonnés.
    • Pour le gérant
      La capacité d'obtenir de manière indépendante et rapide les informations nécessaires pour prendre une décision.
      Facilité d'utilisation. Toutes les actions sont intuitives
    • Pour les fournisseurs
      Opportunité travail interactif avec des informations
    • Du point de vue d'un informaticien
      Réduire le travail de routine. L'utilisateur reçoit la plupart des rapports de manière indépendante.

    Inconvénients :

    • Coût de mise en œuvre. Nécessaire équipement supplémentaire et logiciels.
    • Manque de spécialistes formés. Coûts de formation des employés du service informatique.


  • Des questions ?

    Signaler une faute de frappe

    Texte qui sera envoyé à nos rédacteurs :