Les cubes Olap excellent. OLAP = Vue multidimensionnelle = Cube. Créer un cube de vente sur Internet

Les cubes de données OLAP (Online Analytical Processing) vous permettent d'extraire et d'analyser efficacement des données multidimensionnelles. Contrairement à d'autres types de bases de données, les bases de données OLAP sont spécifiquement conçues pour le traitement analytique et l'extraction rapide de toutes sortes d'ensembles de données. Il existe en fait plusieurs différences clés entre les bases de données relationnelles standards, telles qu'Access ou SQL Server, et les bases de données OLAP.

Riz. 1. Pour connecter un cube OLAP à un classeur Excel, utilisez la commande À partir des services d'analyse

Téléchargez la note dans ou

Dans les bases de données relationnelles, les informations sont représentées sous forme d'enregistrements ajoutés, supprimés et mis à jour séquentiellement. Les bases de données OLAP stockent uniquement un instantané des données. Dans une base de données OLAP, les informations sont archivées sous la forme d'un seul bloc de données et sont destinées uniquement à une sortie à la demande. Bien que de nouvelles informations puissent être ajoutées à une base de données OLAP, les données existantes sont rarement modifiées, et encore moins supprimées.

Les bases de données relationnelles et les bases de données OLAP sont structurellement différentes. Les bases de données relationnelles consistent généralement en un ensemble de tables liées les unes aux autres. Dans certains cas, une base de données relationnelle contient tellement de tables qu'il est très difficile de déterminer comment elles sont connectées. Dans les bases de données OLAP, les relations entre les blocs de données individuels sont définies à l'avance et stockées dans une structure appelée cubes OLAP. Les cubes de données stockent des informations complètes sur la structure hiérarchique et les relations de la base de données, ce qui simplifie grandement la navigation dans celle-ci. De plus, il est beaucoup plus facile de créer des rapports si vous savez à l’avance où se trouvent les données que vous extrayez et quelles autres données y sont associées.

La principale différence entre les bases de données relationnelles et les bases de données OLAP réside dans la manière dont les informations sont stockées. Les données d'un cube OLAP sont rarement présentées de manière générale. Les cubes de données OLAP contiennent généralement des informations présentées dans un format prédéfini. Ainsi, les opérations de regroupement, de filtrage, de tri et de fusion des données dans des cubes sont effectuées avant de les remplir d'informations. Cela simplifie au maximum la récupération et l’affichage des données demandées. Contrairement aux bases de données relationnelles, il n’est pas nécessaire de bien organiser les informations avant de les afficher à l’écran.

Les bases de données OLAP sont généralement créées et gérées par les administrateurs informatiques. Si votre organisation ne dispose pas d'une structure responsable de la gestion des bases de données OLAP, vous pouvez alors contacter l'administrateur de la base de données relationnelle avec une demande de mise en œuvre réseau d'entreprise au moins certaines solutions OLAP.

Connexion à un cube de données OLAP

Pour accéder à une base de données OLAP, vous devez d'abord établir une connexion au cube OLAP. Commencez par aller dans l'onglet Ruban Données. Cliquez sur le bouton D'autres sources et sélectionnez la commande dans le menu déroulant À partir des services d'analyse(Fig. 1).

Lorsque vous sélectionnez la commande spécifiée de l'assistant de connexion de données (Fig. 2). Sa tâche principale est de vous aider à établir une connexion au serveur, qui sera utilisée par Excel lors de la gestion des données.

1. Vous devez d’abord fournir à Excel les informations d’inscription. Entrez le nom du serveur, le nom de connexion et le mot de passe d'accès aux données dans les champs de la boîte de dialogue, comme indiqué sur la Fig. 2. Cliquez sur le bouton Plus loin. Si vous vous connectez en utilisant compte Windows, puis réglez le commutateur Utiliser l'authentification Windows.

2. Sélectionnez la base de données avec laquelle vous travaillerez dans la liste déroulante (Fig. 3). L’exemple actuel utilise la base de données du didacticiel Analysis Services. Une fois que vous avez sélectionné cette base de données, la liste ci-dessous vous invite à importer tous les cubes OLAP disponibles. Sélectionnez le cube de données requis et cliquez sur le bouton Plus loin.

Riz. 3. Sélectionnez une base de données de travail et Cube OLAP, que vous prévoyez d'utiliser pour l'analyse des données

3. Dans la boîte de dialogue suivante de l'assistant, illustrée à la Fig. 4, vous devez saisir des informations descriptives sur la connexion que vous créez. Tous les champs de la boîte de dialogue illustrée à la Fig. Il n’est pas obligatoire de remplir les champs 4. Vous pouvez toujours ignorer la boîte de dialogue actuelle sans la remplir, et cela n'affectera en rien votre connexion.

Riz. 4. Modifiez les informations descriptives de la connexion

4. Cliquez sur le bouton Prêt pour terminer la création de la connexion. Une boîte de dialogue apparaîtra à l'écran Importer des données(Fig.5). Réglez le commutateur Rapport de tableau croisé dynamique et cliquez sur OK pour commencer à créer le tableau croisé dynamique.

Structure du cube OLAP

Lorsque vous créez un tableau croisé dynamique à partir d'une base de données OLAP, vous remarquerez que la fenêtre du volet des tâches Champs du tableau croisé dynamique sera différent de celui d’un tableau croisé dynamique classique. La raison réside dans la disposition du tableau croisé dynamique de manière à refléter fidèlement la structure du cube OLAP qui y est attaché. Pour naviguer dans un cube OLAP le plus rapidement possible, vous devez vous familiariser parfaitement avec ses composants et la façon dont ils interagissent. En figue. La figure 6 montre la structure de base d'un cube OLAP typique.

Comme vous pouvez le constater, les principaux composants d'un cube OLAP sont les dimensions, les hiérarchies, les niveaux, les membres et les mesures :

  • Dimensions. Les principales caractéristiques des éléments de données analysés. Des exemples courants de dimensions incluent Produits, Client et Employé. En figue. La figure 6 montre la structure de la dimension Produits.
  • Hiérarchies. Agrégation prédéfinie de niveaux dans une dimension spécifiée. La hiérarchie permet de créer des données récapitulatives et de les analyser à différents niveaux de la structure, sans se plonger dans les relations qui existent entre ces niveaux. Dans l'exemple représenté sur la Fig. 6, la dimension Produits comporte trois niveaux, qui sont regroupés en une seule hiérarchie de catégories de produits.
  • Les niveaux. Les niveaux sont des catégories regroupées dans une hiérarchie commune. Considérez les couches comme des champs de données qui peuvent être interrogés et analysés séparément les uns des autres. En figue. 6, il n'y a que trois niveaux : Catégorie, Sous-Catégorie et Nom du produit.
  • Membres. Un seul élément de données dans une dimension. Les membres sont généralement accessibles via une structure OLAP de dimensions, de hiérarchies et de niveaux. Dans l'exemple de la Fig. 6 membres sont définis pour le niveau Nom du produit. Les autres niveaux ont leurs propres membres, qui ne sont pas affichés dans la structure.
  • Mesures- ce sont des données réelles dans des cubes OLAP. Les mesures sont stockées dans leurs propres dimensions, appelées dimensions de mesure. Vous pouvez interroger des mesures à l'aide de n'importe quelle combinaison de dimensions, hiérarchies, niveaux et membres. Cette procédure est appelée mesures de « tranchage ».

Maintenant que vous êtes familier avec la structure des cubes OLAP, jetons un nouveau regard sur la liste des champs du tableau croisé dynamique. L'organisation des champs disponibles devient claire et ne suscite aucune plainte. En figue. La figure 7 montre comment la liste de champs représente les éléments d'un tableau croisé dynamique OLAP.

Dans la liste des champs du tableau croisé dynamique Mesures OLAP sont affichés en premier et sont indiqués par l'icône de sommation (sigma). Ce sont les seuls éléments de données pouvant se trouver dans la région VALUE. Après eux dans la liste sont indiquées les dimensions, indiquées par une icône avec une image de tableau. Notre exemple utilise la dimension Client. Cette dimension contient un certain nombre de hiérarchies. Une fois la hiérarchie développée, vous pouvez afficher les niveaux de données individuels. Pour afficher la structure des données d'un cube OLAP, parcourez simplement la liste des champs du tableau croisé dynamique.

Limitations des tableaux croisés dynamiques OLAP

Lorsque vous travaillez avec des tableaux croisés dynamiques OLAP, n'oubliez pas que vous interagissez avec la source de données du tableau croisé dynamique dans l'environnement OLAP Analysis Services. Cela signifie que chaque aspect comportemental du cube de données, depuis les dimensions jusqu'aux mesures incluses dans le cube, est également contrôlé par les services d'analyse OLAP. À son tour, cela entraîne des restrictions sur les opérations pouvant être effectuées sur les tableaux croisés dynamiques OLAP :

  • Vous ne pouvez pas placer de champs autres que des mesures dans la zone VALEURS d'un tableau croisé dynamique ;
  • il est impossible de changer la fonction utilisée pour résumer ;
  • Vous ne pouvez pas créer un champ calculé ou un élément calculé ;
  • toute modification apportée aux noms de champs est annulée immédiatement après la suppression du champ du tableau croisé dynamique ;
  • La modification des paramètres des champs de page n'est pas autorisée ;
  • commande non disponible Montrerpages;
  • option désactivée Montrersignatureéléments s'il n'y a pas de champs dans la zone de valeur ;
  • option désactivée Sous-totaux par éléments de page sélectionnés par le filtre ;
  • paramètre non disponible Arrière-plandemande;
  • après un double-clic dans le champ VALEURS, seuls les 1000 premiers enregistrements du cache du tableau croisé dynamique sont renvoyés ;
  • case à cocher désactivée Optimisermémoire.

Création de cubes de données autonomes

Dans un tableau croisé dynamique standard, les données sources sont stockées sur votre disque dur local. Ainsi, vous pouvez toujours les gérer, ainsi que modifier la structure, même sans accès au réseau. Mais cela ne s'applique en aucun cas aux tableaux croisés dynamiques OLAP. Dans les tableaux croisés dynamiques OLAP, le cache ne se trouve pas sur le disque dur local. Par conséquent, immédiatement après avoir déconnecté réseau local votre tableau croisé dynamique OLAP ne fonctionnera plus. Vous ne pourrez pas déplacer un seul champ dans une telle table.

Si vous devez toujours analyser les données OLAP lorsque vous n'êtes pas connecté à un réseau, créez un cube de données hors ligne. Il s'agit d'un fichier distinct qui représente le cache du tableau croisé dynamique. Ce fichier stocke les données OLAP affichées après la déconnexion du réseau local. Pour créer un cube de données autonome, créez d'abord un tableau croisé dynamique OLAP. Placez le curseur dans le tableau croisé dynamique et cliquez sur le bouton Outils OLAP onglet contextuel Analyse, inclus dans l'ensemble des onglets contextuels Travailler avec des tableaux croisés dynamiques. Sélectionnez une équipe Mode OLAP hors ligne(Fig. 8).

Une boîte de dialogue apparaîtra à l'écran Paramètres vie de la batterie OLAP(Fig. 9). Cliquez sur le bouton Créer un fichier de données hors ligne. La première fenêtre de l'assistant de création de fichier Data Cube apparaîtra à l'écran. Cliquez sur le bouton Plus loin pour poursuivre la procédure.

Dans la deuxième étape (Fig. 10), indiquez les dimensions et les niveaux qui seront inclus dans le cube de données. Dans la boîte de dialogue, vous devez sélectionner les données à importer depuis la base de données OLAP. Il est nécessaire de sélectionner uniquement les dimensions qui seront nécessaires après avoir déconnecté l'ordinateur du réseau local. Plus vous spécifiez de dimensions, plus le cube de données autonome sera grand.

Cliquez sur le bouton Plus loin pour passer à la troisième étape (Fig. 11). Dans cette fenêtre, vous devez sélectionner des membres ou des éléments de données qui ne seront pas inclus dans le cube. Si la case n'est pas cochée, l'élément spécifié ne sera pas importé et occupera un espace inutile sur votre disque dur local.

Spécifiez l'emplacement et le nom du cube de données (Figure 12). Les fichiers de cubes de données portent l'extension .cub.

Après un certain temps, Excel enregistrera le cube de données hors ligne dans le dossier spécifié. Pour le tester, double-cliquez sur le fichier, ce qui générera automatiquement un fichier fonctionnel. Classeurs Excel, qui contient un tableau croisé dynamique associé au cube de données sélectionné. Une fois créé, vous pouvez distribuer le cube de données hors ligne à tous les utilisateurs intéressés qui travaillent en mode LAN hors ligne.

Une fois connecté au réseau local, vous pouvez ouvrir le fichier du cube de données hors ligne et le mettre à jour ainsi que la table de données associée. Veuillez noter que bien que le cube de données hors ligne soit utilisé lorsqu'il n'y a pas d'accès au réseau, il doit être mis à jour lorsque la connectivité réseau est restaurée. Toute tentative de mise à jour d'un cube de données hors ligne après la perte de la connexion réseau entraînera un échec.

Utilisation des fonctions de cube de données dans les tableaux croisés dynamiques

Les fonctions de cube de données utilisées dans les bases de données OLAP peuvent également être exécutées à partir d'un tableau croisé dynamique. Dans les versions héritées d’Excel, vous n’aviez accès à la fonctionnalité du cube de données qu’après avoir installé le complément Analysis Pack. Dans Excel 2013, ces fonctions sont intégrées au programme et sont donc disponibles. Pour bien comprendre leurs capacités, regardons un exemple spécifique.

Un des plus des moyens simples Apprendre les fonctions d'un cube de données implique de convertir un tableau croisé dynamique OLAP en formules de cube de données. Cette procédure est très simple et permet d'obtenir rapidement des formules de cubes de données sans les créer de toutes pièces. Le principe clé est de remplacer toutes les cellules du tableau croisé dynamique par des formules liées à la base de données OLAP. En figue. La figure 13 montre un tableau croisé dynamique associé à une base de données OLAP.

Placez le curseur n'importe où dans le tableau croisé dynamique, cliquez sur le bouton Outils OLAP onglet contextuel du ruban Analyse et sélectionnez une équipe Convertir en formules(Fig.14).

Si votre tableau croisé dynamique contient un champ de filtre de rapport, la boîte de dialogue illustrée dans la figure 1 apparaîtra sur votre écran. 15. Dans cette fenêtre, vous pouvez spécifier si vous souhaitez convertir les listes déroulantes des filtres de données en formules. Si la réponse est oui, les listes déroulantes seront supprimées et des formules statiques seront affichées à la place. Si vous envisagez d'utiliser des listes déroulantes à l'avenir pour modifier le contenu du tableau croisé dynamique, décochez la seule case de la boîte de dialogue. Si vous travaillez sur un tableau croisé dynamique en mode de compatibilité, les filtres de données seront automatiquement convertis en formules, sans avertissement préalable.

Après quelques secondes, au lieu d'un tableau croisé dynamique, des formules seront affichées qui sont exécutées dans des cubes de données et fournissent la sortie des informations nécessaires dans la fenêtre Excel. Veuillez noter que cela supprime les styles précédemment appliqués (Fig. 16).

Riz. 16. Jetez un œil à la barre de formule : les cellules contiennent les formules du cube de données

Étant donné que les valeurs que vous affichez ne font plus partie de l'objet PivotTable, vous pouvez ajouter des colonnes, des lignes et des membres calculés, et les combiner avec d'autres sources externes, et modifiez également le rapport avec le plus différentes façons, y compris le glisser-déposer de formules.

Ajout de calculs aux tableaux croisés dynamiques OLAP

DANS Versions précédentes Les tableaux croisés dynamiques Excel OLAP ne permettaient pas les calculs personnalisés. Cela signifie qu'il n'a pas été possible d'ajouter un niveau d'analyse supplémentaire aux tableaux croisés dynamiques OLAP de la même manière qu'il est possible d'ajouter des champs et des membres calculés aux tableaux croisés dynamiques standards (pour plus d'informations, assurez-vous de bien connaître ce matériel avant de continuer). en lisant ).

Excel 2013 introduit de nouveaux outils OLAP : mesures calculées et membres MDX calculés. Vous n'êtes plus limité à l'utilisation des mesures et des membres de votre cube OLAP fournis par votre administrateur de base de données. Vous bénéficiez de capacités d'analyse supplémentaires en créant des calculs personnalisés.

Introduction au MDX. Lorsque vous utilisez un tableau croisé dynamique avec un cube OLAP, vous émettez des requêtes MDX (expressions multidimensionnelles) sur la base de données. MDX est un langage de requête utilisé pour récupérer des données à partir de sources multidimensionnelles (telles que des cubes OLAP). Lorsqu'un tableau croisé dynamique OLAP est modifié ou mis à jour, les requêtes MDX correspondantes sont envoyées à la base de données OLAP. Les résultats de la requête sont renvoyés à Excel et affichés dans la zone du tableau croisé dynamique. Cela permet de travailler avec des données OLAP sans copie locale du cache du tableau croisé dynamique.

Lorsque vous créez des mesures calculées et des membres MDX, vous utilisez la syntaxe du langage MDX. En utilisant cette syntaxe, un tableau croisé dynamique permet aux calculs d'interagir avec le backend de la base de données OLAP. Les exemples présentés dans le livre sont basés sur des conceptions MDX de base qui démontrent de nouveaux Fonctions Excel 2013. Si vous devez créer des mesures calculées complexes et des membres MDX, vous devrez consacrer du temps à en apprendre davantage sur les fonctionnalités de MDX.

Créez des mesures calculées. Une mesure calculée est la version OLAP d'un champ calculé. L'idée est de créer un nouveau champ de données basé sur certaines opérations mathématiques effectuées sur des champs OLAP existants. Dans l'exemple représenté sur la Fig. 17, un tableau récapitulatif OLAP est utilisé, qui comprend la liste et la quantité des marchandises, ainsi que les revenus de la vente de chacun d'eux. Nous devons ajouter une nouvelle mesure qui calculera le prix moyen par unité d'un article.

Analyse Travailler avec des tableaux croisés dynamiques. Dans le menu déroulant Outils OLAP sélectionner un article (Fig. 18).

Riz. 18. Sélectionnez un élément de menu Mesure calculée MDX

Une boîte de dialogue apparaîtra à l'écran Créer une mesure calculée(Fig. 19).

Suivez ces étapes:

2. Sélectionnez le groupe de mesures dans lequel se trouvera la nouvelle mesure calculée. Si vous ne le faites pas, Excel placera automatiquement la nouvelle mesure dans le premier groupe de mesures disponible.

3. Sur le terrain Expression MDX(MDX) Entrez le code qui spécifie la nouvelle mesure. Pour accélérer le processus de saisie, utilisez la liste de gauche pour sélectionner les mesures existantes à utiliser dans les calculs. Double-cliquez sur la mesure souhaitée pour l'ajouter au champ MDX. Le MDX suivant est utilisé pour calculer le prix de vente unitaire moyen :

4. Cliquez sur OK.

Faites attention au bouton Vérifiez MDX, qui se trouve dans la partie inférieure droite de la fenêtre. Cliquez sur ce bouton pour vérifier que la syntaxe MDX est correcte. Si la syntaxe contient des erreurs, un message apparaît.

Une fois que vous avez fini de créer votre nouvelle mesure calculée, accédez à la liste Champs du tableau croisé dynamique et sélectionnez-le (Fig. 20).

La portée d’une mesure calculée s’applique uniquement au classeur actuel. En d'autres termes, les mesures calculées ne sont pas créées directement dans le cube du serveur OLAP. Cela signifie que personne ne pourra accéder à la mesure calculée à moins que vous n'ouvriez accès général au classeur, sinon vous ne le publierez pas sur Internet.

Créez des membres MDX calculés. Un membre calculé MDX est la version OLAP d'un membre calculé standard. L'idée est de créer un nouvel élément de données basé sur certaines opérations mathématiques effectuées sur des éléments OLAP existants. Dans l'exemple représenté sur la Fig. 22, un tableau croisé dynamique OLAP est utilisé qui comprend des informations sur les ventes pour 2005-2008 (avec une ventilation trimestrielle). Supposons que vous souhaitiez regrouper les données du premier et du deuxième trimestre en créant un nouvel élément, Premier semestre. Nous combinerons également les données relatives aux troisième et quatrième trimestres, formant un nouvel élément Deuxième de l'année.

Riz. 22. Nous allons ajouter de nouveaux membres calculés MDX, premier semestre et deuxième semestre

Placez le curseur n'importe où dans le tableau croisé dynamique et sélectionnez l'onglet contextuel Analyseà partir d'un ensemble d'onglets contextuels Travailler avec des tableaux croisés dynamiques. Dans le menu déroulant Outils OLAP sélectionner un article Membre calculé MDX(Fig. 23).

Une boîte de dialogue apparaîtra à l'écran (Fig. 24).

Riz. 24. Fenêtre Création d'un élément calculé

Suivez ces étapes:

1. Donnez un nom à la mesure calculée.

2. Sélectionnez la hiérarchie parent pour laquelle vous créez de nouveaux membres calculés. Sur un chantier Élément parent attribuer une valeur Tous. Ce paramètre permet à Excel d'accéder à tous les membres de la hiérarchie parent lors de l'évaluation d'une expression.

3. Dans la fenêtre Expression MDX Entrez la syntaxe MDX. Pour gagner du temps, utilisez la liste de gauche pour sélectionner les membres existants à utiliser dans le MDX. Double-cliquez sur l'élément sélectionné et Excel l'ajoutera à la fenêtre Expression MDX. Dans l'exemple représenté sur la Fig. 24, la somme du premier et du deuxième trimestre est calculée :

..&& +

.. && +

.. && + …

4. Cliquez sur OK. Excel affiche le membre calculé MDX nouvellement créé dans le tableau croisé dynamique. Comme le montre la fig. 25, le nouvel élément calculé est affiché avec les autres éléments calculés dans le tableau croisé dynamique.

En figue. La figure 26 illustre un processus similaire utilisé pour créer l'élément calculé du deuxième semestre.

Notez qu'Excel n'essaie même pas de supprimer les membres MDX d'origine (Figure 27). Le tableau croisé dynamique continue d'afficher les enregistrements correspondant aux années 2005-2008, ventilés par trimestre. Dans ce cas, ce n’est pas grave, mais dans la plupart des scénarios, vous devez masquer les éléments « supplémentaires » pour éviter les conflits.

Riz. 27. Excel affiche le membre calculé MDX créé comme membres d'origine. Mais il vaut quand même mieux supprimer les éléments d'origine pour éviter les conflits

N'oubliez pas : les membres calculés se trouvent uniquement dans le classeur actuel. En d'autres termes, les mesures calculées ne sont pas créées directement dans le cube du serveur OLAP. Cela signifie que personne ne pourra accéder à la mesure calculée ou au membre calculé à moins que vous ne partagiez le classeur ou que vous ne le publiiez en ligne.

Notez que si la hiérarchie parent ou l'élément parent dans un cube OLAP change, l'élément calculé MDX ne fonctionne plus. Vous devrez recréer cet élément.

Gestion des calculs OLAP. Excel fournit une interface qui vous permet de gérer les mesures calculées et les membres MDX dans les tableaux croisés dynamiques OLAP. Placez le curseur n'importe où dans le tableau croisé dynamique et sélectionnez l'onglet contextuel Analyseà partir d'un ensemble d'onglets contextuels Travailler avec des tableaux croisés dynamiques. Dans le menu déroulant Outils OLAP sélectionner un article Gestion du calcul. Dans la fenêtre Gestion du calcul Trois boutons sont disponibles (Fig. 28) :

  • Créer. Créez une nouvelle mesure calculée ou un membre MDX calculé.
  • Changement. Modifiez le calcul sélectionné.
  • Supprimer. Supprimez le calcul sélectionné.

Riz. 28. Boîte de dialogue Gestion du calcul

Effectuez une analyse de simulation sur les données OLAP. Dans Excel 2013, vous pouvez effectuer une analyse de simulation sur les données des tableaux croisés dynamiques OLAP. Grâce à ça nouvelle opportunité Vous pouvez modifier les valeurs dans un tableau croisé dynamique et recalculer les mesures et les membres en fonction de vos modifications. Vous pouvez également propager les modifications au cube OLAP. Pour profiter des capacités d'analyse de simulation, créez un tableau croisé dynamique OLAP et sélectionnez l'onglet contextuel Analyse Travailler avec des tableaux croisés dynamiques. Dans le menu déroulant Outils OLAP choisis une équipe Analyse de simulation –> Activer l'analyse de simulation(Fig. 29).

A partir de ce moment, vous pouvez modifier les valeurs du tableau croisé dynamique. Pour modifier la valeur sélectionnée dans le tableau croisé dynamique, faites un clic droit dessus et sélectionnez l'élément dans le menu contextuel (Fig. 30). Excel réexécutera tous les calculs du tableau croisé dynamique avec les modifications que vous avez apportées, y compris les mesures calculées et les membres MDX calculés.

Riz. 30. Sélectionnez un élément Prendre en compte le changement lors du calcul du tableau croisé dynamique pour apporter des modifications au tableau croisé dynamique

Par défaut, les modifications apportées à un tableau croisé dynamique en mode d'analyse de simulation sont locales. Si vous souhaitez propager les modifications sur le serveur OLAP, sélectionnez la commande pour publier les modifications. Sélectionnez un onglet contextuel Analyse, situé dans un ensemble d'onglets contextuels Travailler avec des tableaux croisés dynamiques. Dans le menu déroulant Outils OLAP sélectionner des éléments Analyse de simulation – > Publier les modifications(Fig. 31). Suite à l'exécution de cette commande, " répondre» sur le serveur OLAP, ce qui signifie que les modifications peuvent être propagées au cube OLAP source. (Pour propager les modifications sur le serveur OLAP, vous devez disposer des autorisations appropriées pour accéder au serveur. Contactez votre administrateur de base de données pour vous aider à obtenir des autorisations d'accès en écriture à la base de données OLAP.)

La note a été rédigée sur la base du livre de Jelen, Alexander. . Chapitre 9

/ De manière cubiste. Application des cubes OLAP dans la pratique de gestion des grandes entreprises


En contact avec

Camarades de classe

Constantin Tokmachev, architecte système

Dans un style cubiste.
Application des cubes OLAP dans la pratique de gestion des grandes entreprises

Peut-être est-il révolu le temps où les ressources informatiques d'une entreprise étaient consacrées uniquement à l'enregistrement d'informations et à des rapports comptables. Dans le même temps, les décisions de gestion étaient prises « à l'œil nu » dans les bureaux, lors des réunions et des séances. Peut-être qu'en Russie, il est temps de ramener les systèmes informatiques d'entreprise à leur principale ressource : résoudre les problèmes de gestion sur la base des données enregistrées dans l'ordinateur.

À propos des avantages de l'analyse commerciale

Dans la boucle de gestion de l'entreprise, entre les données « brutes » et les « leviers » d'influence sur l'objet géré, il existe des « indicateurs de performance » - KPI. Ils forment une sorte de « tableau de bord », reflétant l'état des différents sous-systèmes de l'objet contrôlé. Doter l'entreprise d'indicateurs de performance informatifs et suivre leur calcul et les valeurs obtenues est le travail d'un analyste commercial. Les services d'analyse automatisés, tels que l'utilitaire MS SQL Server Analysis Services (SSAS) et son outil principal, le cube OLAP, peuvent apporter une aide significative dans l'organisation du travail analytique de l'entreprise.

Un point supplémentaire doit être souligné ici. Disons que, dans la tradition américaine, une spécialité axée sur le travail avec des cubes OLAP s'appelle BI (Business Intelligence). Il ne faut pas se faire d’illusion : la BI américaine correspond au « business analyst » russe. Sans vouloir vous offenser, mais souvent notre analyste commercial est un « sous-comptable » et un « sous-programmeur », un spécialiste aux connaissances vagues et avec un petit salaire, qui n'a vraiment aucun de ses propres outils et méthodologies.

Un spécialiste BI est en fait un mathématicien appliqué, un spécialiste hautement qualifié qui utilise des méthodes mathématiques modernes pour l’arsenal de l’entreprise (ce qu’on appelait la Recherche Opérationnelle). La BI correspond davantage à la spécialité « analyste système » qui était autrefois en URSS, diplômé de la Faculté de mathématiques computationnelles et de mathématiques de l'Université d'État de Moscou. M.V. Lomonossov. Le cube OLAP et les services d'analyse peuvent devenir une base prometteuse pour le poste de travail d'un analyste commercial russe, peut-être après une formation avancée en direction de la BI américaine.

Récemment, une autre tendance néfaste est apparue. Grâce à la spécialisation, la compréhension mutuelle entre les différentes catégories d'employés des entreprises s'est perdue. Un comptable, un gestionnaire et un programmeur, comme « un cygne, une écrevisse et un brochet » dans la fable d’I.A. Krylov, tirent l'entreprise dans des directions différentes.

Le comptable est occupé au reporting, ses montants, tant dans leur sens que dans leur dynamique, ne sont pas directement liés au processus commercial de l'entreprise.

Le manager est occupé par sa part du processus commercial, mais n'est pas en mesure d'évaluer globalement, au niveau de l'entreprise dans son ensemble, les résultats et les perspectives de ses actions.

Enfin, le programmeur, qui était autrefois (grâce à son éducation) un conducteur d'idées techniques avancées du domaine scientifique au domaine des affaires, est devenu un exécuteur passif des fantasmes du comptable et du gestionnaire, ce n'est donc pas le cas. Il n'est plus rare que les services informatiques des entreprises soient dirigés par des comptables et, en général, par tous ceux qui ne sont pas paresseux. Le manque d'initiative, un programmeur 1C illettré mais relativement bien payé est un véritable fléau pour les entreprises russes. (C’est presque comme un footballeur national.) Je ne parle même pas des soi-disant « économistes et avocats » : tout a été dit à leur sujet il y a longtemps.

Ainsi, le poste d'analyste commercial, doté d'un appareil SSAS à forte intensité de connaissances, maîtrisant les bases de la programmation et de la comptabilité, est capable de consolider le travail de l'entreprise en matière d'analyse et de prévision du processus métier.

Avantages des cubes OLAP

Le cube OLAP est remède moderne analyse de la base de données du système informatique de l'entreprise, qui permet de fournir aux salariés de tous les niveaux de la hiérarchie l'ensemble requis d'indicateurs qui caractérisent processus de fabrication entreprises. Le fait n'est pas seulement que l'interface pratique et le langage de requête flexible du cube MDX (MultiDimensional eXpressions) vous permettent de formuler et de calculer les indicateurs analytiques nécessaires, mais aussi la rapidité et la facilité remarquables avec lesquelles le cube OLAP le fait. De plus, cette rapidité et cette facilité, dans certaines limites, ne dépendent pas de la complexité des calculs et de la taille de la base de données.

Une introduction à OLAP-
Le cube peut être donné par un « tableau croisé dynamique » de MS Excel. Ces objets ont une logique similaire et des interfaces similaires. Mais, comme le montre l'article, les fonctionnalités OLAP sont incomparablement plus riches et les performances sont incomparablement plus élevées, de sorte que le « tableau croisé dynamique » reste un produit de bureau local, tandis qu'OLAP est un produit de niveau entreprise.

Pourquoi le cube OLAP est si efficace pour résoudre tâches analytiques? Le cube OLAP est conçu de telle manière que tous les indicateurs dans toutes les sections possibles sont pré-calculés (en tout ou en partie), et l'utilisateur ne peut « extraire » les indicateurs (mesures) et dimensions (dimensions) requis qu'avec le souris, et le programme peut redessiner les tableaux.

Toutes les analyses possibles dans toutes les sections forment un immense champ, ou plutôt, pas un champ, mais juste un cube OLAP multidimensionnel. Quelle que soit la demande que l'utilisateur (manager, analyste métier, cadre) s'adresse au service d'analyse, la rapidité de réponse s'explique par deux choses : premièrement, les analyses requises peuvent être facilement formulées (soit sélectionnées dans une liste par leur nom, soit spécifiées par un formule en langage MDX ), deuxièmement, en règle générale, elle a déjà été calculée.

La formulation de l'analyse est possible selon trois options : il s'agit soit d'un champ de base de données (ou plutôt d'un champ d'entrepôt), soit d'un champ de calcul défini au niveau de la conception du cube, soit d'une expression du langage MDX lorsque vous travaillez de manière interactive avec le cube.

Cela signifie plusieurs fonctionnalités attrayantes des cubes OLAP. Essentiellement, la barrière entre l'utilisateur et les données disparaît. La barrière se présente sous la forme d’un programmeur d’application qui doit d’abord expliquer le problème (définir une tâche). Deuxièmement, vous devrez attendre que le programmeur de l'application crée un algorithme, écrive et débogue le programme, puis éventuellement le modifie. S'il y a beaucoup d'employés et que leurs exigences sont variées et changeantes, alors toute une équipe de programmeurs d'applications est nécessaire. En ce sens, un cube OLAP (et un analyste commercial qualifié) remplace toute une équipe de programmeurs d'applications en termes de travail analytique, tout comme une puissante excavatrice avec un opérateur d'excavatrice remplace toute une équipe de travailleurs migrants avec des pelles lors du creusement d'un fossé !

En même temps, une autre qualité très importante des données analytiques obtenues est obtenue. Puisqu'il n'y a qu'un seul cube OLAP pour toute l'entreprise, c'est-à-dire Il s'agit du même domaine avec des analystes pour tout le monde, ce qui élimine les divergences gênantes dans les données. Lorsqu'un manager doit confier la même tâche à plusieurs salariés indépendants afin d'éliminer le facteur de subjectivité, mais qu'ils apportent quand même des réponses différentes, que chacun s'engage à expliquer d'une manière ou d'une autre, etc. Le cube OLAP assure l'uniformité des données analytiques aux différents niveaux de la hiérarchie de l'entreprise, c'est-à-dire si un manager souhaite détailler un certain indicateur qui l'intéresse, alors il reviendra certainement aux données de niveau inférieur avec lesquelles travaille son subordonné, et ce seront précisément les données sur la base desquelles l'indicateur de niveau supérieur a été calculé , et non d'autres données, reçues d'une autre manière, à un autre moment, etc. Autrement dit, l’ensemble de l’entreprise voit les mêmes analyses, mais à différents niveaux d’agrégation.

Donnons un exemple. Disons qu'un gestionnaire contrôle les comptes clients. Tant que le KPI des créances en souffrance est vert, cela signifie que tout est normal et qu'aucune action de gestion n'est requise. Si la couleur est passée au jaune ou au rouge, quelque chose ne va pas : on coupe les KPI par services commerciaux et on voit immédiatement les rayons « en rouge ». La section suivante est identifiée par les gestionnaires - et le vendeur dont les clients sont en retard de paiement. (De plus, le montant en souffrance peut être divisé par clients, par conditions, etc.) Le chef de l'entreprise peut contacter directement les contrevenants à n'importe quel niveau. Mais en général, le même KPI (à leurs niveaux hiérarchiques) est vu aussi bien par les chefs de service que par les responsables commerciaux. Par conséquent, pour corriger la situation, ils n'ont même pas besoin d'attendre un « appel sur le tapis »... Bien entendu, le KPI lui-même ne doit pas nécessairement être le montant des paiements en souffrance - il peut s'agir du durée moyenne pondérée des impayés ou, d'une manière générale, le taux de rotation des créances.

Notons que la complexité et la flexibilité du langage MDX, ainsi que les résultats rapides (parfois instantanés), nous permettent de résoudre (en tenant compte des étapes de développement et de débogage) des problèmes de contrôle complexes qui autrement n'auraient peut-être pas été posés du tout. en raison de la complexité pour les programmeurs d'applications et de l'incertitude initiale dans la formulation. (Des délais longs pour les programmeurs d'applications pour résoudre des problèmes analytiques dus à des formulations mal comprises et à de longues modifications des programmes lorsque les conditions changent sont souvent rencontrés dans la pratique.)

Faisons également attention au fait que chaque employé de l'entreprise peut récolter sur le terrain général un analyste OLAP exactement la récolte dont il a besoin pour son travail, et ne pas se contenter de la « bande » qui lui est découpée en commun. « rapports standards ».

L'interface multi-utilisateur pour travailler avec un cube OLAP en mode client-serveur permet à chaque employé, indépendamment des autres, de disposer de ses propres blocs d'analyse (rapports), même créés par lui-même avec certaines compétences, qui, une fois définis, sont automatiquement mis à jour - en d'autres termes, ils sont toujours à jour.

C'est-à-dire que le cube OLAP permet de rendre le travail analytique (qui est en fait effectué non seulement par les analystes de réception, mais, en fait, par presque tous les employés de l'entreprise, même les logisticiens et les gestionnaires qui contrôlent les soldes et les expéditions) plus sélectif, "pas en termes généraux", ce qui crée les conditions d'une amélioration du travail et d'une augmentation de la productivité.

Pour résumer notre introduction, notons que l'utilisation de cubes OLAP peut élever la gestion d'une entreprise à un niveau supérieur. L'uniformité des données analytiques à tous les niveaux de la hiérarchie, leur fiabilité, leur complexité, la facilité de création et de modification d'indicateurs, les paramètres individuels, la grande vitesse de traitement des données et, enfin, les économies d'argent et de temps consacrés à la prise en charge de voies analytiques alternatives (programmeurs d'applications, calculs indépendants des employés) ouvrent des perspectives d'utilisation des cubes OLAP dans la pratique des grandes entreprises russes.

OLTP + OLAP : aperçu retour dans la chaîne de gestion de l'entreprise

Voyons maintenant l'idée générale des cubes OLAP et leur point d'application dans la chaîne de gestion d'entreprise. Le terme OLAP (OnLine Analytical Processing) a été introduit par le mathématicien britannique Edgar Codd en plus du terme OLTP (OnLine Transactions Processing) précédemment introduit. Cela sera discuté plus tard, mais E. Codd a bien sûr proposé non seulement les termes, mais aussi les théories mathématiques d'OLTP et d'OLAP. Sans entrer dans les détails, dans l'interprétation moderne, OLTP est une base de données relationnelle, considérée comme un mécanisme d'enregistrement, de stockage et de récupération d'informations.

Méthodologie de solution

Les systèmes ERP (Enterprice Resource Planning), tels que 1C7, 1C8, MS Dynamics AX, disposent d'interfaces logicielles orientées utilisateur (saisie et édition de documents, etc.) et d'une base de données relationnelle (DB) pour stocker et récupérer des informations, représentées aujourd'hui par des logiciels. des produits tels que MS SQL Server (SS).

Notez que les informations enregistrées dans la base de données du système ERP constituent en effet une ressource très précieuse. Il ne s'agit pas seulement que les informations enregistrées assurent le flux documentaire actuel de l'entreprise (extraction des documents, leur ajustement, capacité d'impression et de rapprochement, etc.) et pas seulement la capacité de calculer les états financiers (impôts, audit, etc. ). D’un point de vue managérial, il est bien plus important que le système OLTP (base de données relationnelle) soit en fait un véritable modèle numérique grandeur nature des activités de l’entreprise.

Mais pour gérer le processus, il ne suffit pas d'enregistrer des informations le concernant. Le processus doit être présenté sous la forme d'un système d'indicateurs numériques (KPI) caractérisant son avancement. De plus, des plages de valeurs acceptables doivent être définies pour les indicateurs. Et seulement si la valeur de l'indicateur tombe en dehors de l'intervalle autorisé, une action de contrôle devrait suivre.

À propos de cette logique (ou mythologie) du contrôle (« contrôle par déviation »), tant le philosophe grec Platon, qui a créé l'image du timonier (cybernose), qui s'appuie sur la rame lorsque le bateau dévie du cap, que le Le mathématicien américain Norbert Wiener, qui a créé la science de la cybernétique à la veille de l'ère informatique.

En plus du système habituel d'enregistrement des informations à l'aide de la méthode OLTP, un autre système est nécessaire : un système d'analyse des informations collectées. Ce module complémentaire, qui dans la boucle de contrôle joue le rôle de feedback entre la gestion et l'objet de contrôle, est un système OLAP ou, en bref, un cube OLAP.

En tant qu'implémentation logicielle d'OLAP, nous considérerons l'utilitaire MS Analysis Services, qui fait partie de la livraison standard de MS SQL Server, en abrégé SSAS. Notez que, selon le plan d'E. Codd, le cube OLAP en analyse devrait donner la même liberté d'action complète que celle fournie par le système OLTP et la base de données relationnelle (SQL Server) pour stocker et récupérer des informations.

Logistique OLAP

Regardons maintenant la configuration spécifique appareils externes, programmes d'application et opérations technologiques sur lesquels repose le fonctionnement automatisé du cube OLAP.

Nous supposerons que la société utilise un système ERP, par exemple 1C7 ou 1C8, dans lequel les informations sont enregistrées comme d'habitude. La base de données de ce système ERP se trouve sur un certain serveur et est prise en charge par MS SQL Server.

Nous supposerons également qu'un autre serveur dispose de logiciels installés, notamment MS SQL Server avec l'utilitaire MS Analysis Services (SSAS), ainsi que MS SQL Server Management Studio, MS C#, MS Excel et MS Visual Studio. Ces programmes forment ensemble le contexte requis : les outils et les interfaces nécessaires au développeur de cubes OLAP.

Le serveur SSAS dispose d'un programme distribué gratuitement appelé blat, appelé (avec paramètres) depuis ligne de commande et fournir un service postal.

Sur les postes de travail des employés du réseau local, des programmes MS Excel (versions au moins 2003) sont installés, entre autres, ainsi que, éventuellement, un pilote spécial pour garantir le fonctionnement de MS Excel avec MS Analysis Services (à moins que le pilote correspondant ne soit déjà installé). inclus dans MS Excel).

Pour être précis, nous supposerons qu'un système d'exploitation est installé sur les postes de travail des employés. Système Windows XP, et sur les serveurs - Serveur Windows 2008. De plus, laissez MS SQL Server 2005 être utilisé comme SQL Server, avec Enterprise Edition (EE) ou Developer Edition (DE) installé sur le serveur avec le cube OLAP. Dans ces éditions, il est possible d'utiliser ce qu'on appelle. « mesures semi-additifs », c'est-à-dire supplémentaire fonctions d'agrégation(statistiques) autres que les sommes ordinaires (par exemple, extrêmes ou moyennes).

Conception de cube OLAP (cubisme OLAP)

Disons quelques mots sur la conception du cube OLAP lui-même. Dans le langage des statistiques, un cube OLAP est un ensemble d'indicateurs de performance calculés dans toutes les sections nécessaires, par exemple, l'indicateur d'expédition en sections par clients, par marchandises, par dates, etc. En raison de la traduction directe de l'anglais dans la littérature russe sur les cubes OLAP, les indicateurs sont appelés « mesures » et les sections sont appelées « dimensions ». Il s’agit d’une traduction mathématiquement correcte, mais syntaxiquement et sémantiquement peu réussie. Les mots russes « mesure », « dimension », « dimension » ont presque la même signification et l'orthographe, tandis que les mots anglais « mesure » et « dimension » sont différents à la fois dans l'orthographe et le sens. Par conséquent, nous privilégions les termes statistiques russes traditionnels « indicateur » et « coupe », dont le sens est similaire.

Il existe plusieurs options pour la mise en œuvre logicielle d'un cube OLAP par rapport au système OLTP où les données sont enregistrées. Nous ne considérerons qu'un seul schéma, le plus simple, le plus fiable et le plus rapide.

Dans cette conception, OLAP et OLTP ne partagent pas de tables et les analyses OLAP sont calculées de manière aussi détaillée que possible lors de l'étape de mise à jour du cube (processus), qui précède l'étape d'utilisation. Ce schéma est appelé MOLAP (Multidimensionnel OLAP). Ses inconvénients sont l'asynchronisme avec l'ERP et les coûts de mémoire élevés.

Bien qu'officiellement, un cube OLAP puisse être construit en utilisant l'ensemble (des milliers) de tables de bases de données relationnelles du système ERP comme source de données et l'ensemble (des centaines) de leurs champs comme indicateurs ou sections, en réalité cela ne devrait pas être fait. Vice versa. Pour charger dans un cube, il est plus correct de préparer une base de données distincte, appelée « vitrine » ou « entrepôt ».

Plusieurs raisons nous obligent à le faire.

  • Premièrement, Lier un cube OLAP à des tables d'une base de données réelle créera certainement des problèmes techniques. La modification des données dans une table peut déclencher une actualisation du cube, et l'actualisation d'un cube n'est pas nécessairement un processus rapide, le cube sera donc dans un état de reconstruction constante ; Dans le même temps, la procédure de mise à jour du cube peut bloquer (lors de la lecture) les données des tables de la base de données, ralentissant ainsi le travail des utilisateurs lors de l'enregistrement des données dans le système ERP.
  • Deuxièmement, Avoir trop d'indicateurs et de coupures augmentera considérablement la zone de stockage du cube sur le serveur. N'oublions pas que le cube OLAP stocke non seulement les données sources, comme dans le système OLTP, mais aussi tous les indicateurs résumés sur toutes les sections possibles (et même toutes les combinaisons de toutes les sections). De plus, la vitesse de mise à jour du cube et, en fin de compte, la vitesse de création et de mise à jour des analyses et des rapports utilisateur basés sur celles-ci ralentiront en conséquence.
  • Troisième, trop de champs (indicateurs et sections) créeront des problèmes dans l'interface du développeur OLAP, car les listes d'éléments deviendront immenses.
  • Quatrièmement, Le cube OLAP est très sensible aux violations de l'intégrité des données. Le cube ne peut pas être construit si les données clés ne se trouvent pas au niveau du lien spécifié dans la structure des connexions des champs du cube. Les violations d'intégrité temporaires ou permanentes, les champs vides sont courants dans une base de données d'un système ERP, mais cela ne convient absolument pas à OLAP.

Vous pouvez également ajouter que le système ERP et le cube OLAP doivent être situés sur des serveurs différents pour partager la charge. Mais alors, s'il existe des tables communes pour OLAP et OLTP, le problème du trafic réseau se pose également. Des problèmes pratiquement insolubles surviennent dans ce cas lorsqu'il est nécessaire de consolider plusieurs systèmes ERP disparates (1C7, 1C8, MS Dynamics AX) dans un seul cube OLAP.

Probablement, nous pouvons continuer à accumuler des problèmes techniques. Mais surtout, rappelez-vous que contrairement à OLTP, OLAP n'est pas un moyen d'enregistrer et de stocker des données, mais un outil d'analyse. Cela signifie qu'il n'est pas nécessaire de télécharger des données « sales » de l'ERP vers OLAP « juste au cas où ». Au contraire, il faut d'abord développer un concept de gestion d'entreprise, au moins au niveau du système KPI, puis concevoir un entrepôt de données applicatif (entrepôt), situé sur le même serveur que le cube OLAP, et contenant un petit , quantité raffinée de données de l'ERP nécessaires à la gestion.

Sans promouvoir de mauvaises habitudes, le cube OLAP par rapport à OLTP peut être assimilé au fameux « alambic », à travers lequel un « produit pur » est extrait de la « masse fermentée » de l'enregistrement réel.

Nous avons donc compris que la source de données pour OLAP est une base de données spéciale (entrepôt) située sur le même serveur qu'OLAP. Généralement, cela signifie deux choses. Premièrement, il doit y avoir des procédures spéciales qui permettront de créer un entrepôt à partir des bases de données ERP. Deuxièmement, le cube OLAP est asynchrone avec ses systèmes ERP.

Compte tenu de ce qui précède, nous proposons la version suivante de l'architecture du processus informatique.

Architecture des solutions

Supposons qu'il existe de nombreux systèmes ERP d'une certaine société (holding) situés sur différents serveurs, dont nous aimerions voir les données analytiques consolidées dans un seul cube OLAP. Nous soulignons que dans la technologie décrite, nous combinons les données des systèmes ERP au niveau de l'entrepôt, laissant inchangée la conception du cube OLAP.

Sur le serveur OLAP, nous créons des images (copies vierges) des bases de données de tous ces systèmes ERP. Nous effectuons périodiquement (tous les soirs) une réplication partielle des bases de données ERP actives correspondantes sur ces copies vides.

Ensuite, SP (procédure stockée) est lancée qui, sur le même serveur OLAP sans trafic réseau, sur la base de répliques partielles des bases de données du système ERP, crée (ou réapprovisionne) un entrepôt (entrepôt) - la source de données du cube OLAP.

Ensuite, la procédure standard de mise à jour/construction d'un cube à partir des données de l'entrepôt est lancée (Opération Processus dans l'interface SSAS).

Commentons certains aspects de la technologie. Quel genre de travail les SP effectuent-ils ?

À la suite d'une réplication partielle, les données actuelles apparaissent dans l'image d'un système ERP sur le serveur OLAP. À propos, la réplication partielle peut être effectuée de deux manières.

Premièrement, à partir de toutes les tables de la base de données du système ERP, lors de la réplication partielle, seules celles nécessaires à la construction d'un entrepôt sont copiées. Ceci est contrôlé par une liste fixe de noms de tables.

Deuxièmement, une réplication partielle peut également signifier que tous les champs de la table ne sont pas copiés, mais uniquement ceux impliqués dans la construction de l'entrepôt. La liste des champs à copier est soit précisée, soit créée dynamiquement dans SP à l'image de la copie (si tous les champs ne sont pas initialement présents dans la copie de la table).

Bien entendu, il est possible de ne pas copier des lignes entières du tableau, mais uniquement d'ajouter de nouveaux enregistrements. Cependant, cela crée de sérieux inconvénients lorsqu’il s’agit de comptabiliser « rétroactivement » les révisions de l’ERP, ce qui est souvent le cas dans les systèmes réels. Il est donc plus simple, sans plus attendre, de copier tous les enregistrements (ou de mettre à jour la « queue » à partir d’une certaine date).

Ensuite, la tâche principale de SP est de convertir les données du système ERP au format d'entrepôt. S'il n'existe qu'un seul système ERP, la tâche de conversion se résume principalement à copier et éventuellement reformater les données nécessaires. Mais s’il est nécessaire de consolider plusieurs systèmes ERP de structures différentes dans un même cube OLAP, alors les transformations deviennent plus compliquées.

La tâche de consolider plusieurs systèmes ERP différents dans un cube est particulièrement difficile si les ensembles de leurs objets (répertoires de marchandises, sous-traitants, entrepôts, etc.) se chevauchent partiellement, les objets ont la même signification, mais sont naturellement décrits différemment dans les répertoires. de différents systèmes (au sens de codes, identifiants, noms, etc.).

En réalité, une telle image se présente dans une grande société holding, lorsque plusieurs de ses sociétés autonomes constitutives du même type exercent à peu près les mêmes types d'activités sur approximativement le même territoire, mais utilisent leurs propres systèmes d'enregistrement non convenus. Dans ce cas, lors de la consolidation des données au niveau de l'entrepôt, vous ne pouvez pas vous passer de tables de mappage auxiliaires.

Accordons une certaine attention à l'architecture de stockage en entrepôt. Généralement, un schéma de cube OLAP est représenté sous la forme d'une « étoile », c'est-à-dire comme une table de données entourée de « rayons » de répertoires – des tables de valeurs clés secondaires. Un tableau est un bloc d'« indicateurs » ; les ouvrages de référence sont leurs sections. Dans ce cas, le répertoire, à son tour, peut être un arbre arbitrairement déséquilibré ou une hiérarchie équilibrée, par exemple une classification à plusieurs niveaux de biens ou d'entrepreneurs. Dans un cube OLAP, les champs numériques d'une table de données provenant d'un entrepôt deviennent automatiquement des « indicateurs » (ou mesures), et les sections (ou dimensions) peuvent être définies à l'aide de tables de clés secondaires.

Il s’agit d’une description visuelle « pédagogique ». En fait, l'architecture d'un cube OLAP peut être beaucoup plus complexe.

Premièrement, un entrepôt peut être constitué de plusieurs « étoiles », éventuellement reliées via des annuaires communs. Dans ce cas, le cube OLAP sera une union de plusieurs cubes (plusieurs blocs de données).

Deuxièmement, le « rayon » d'un astérisque peut être non seulement un répertoire, mais tout un système de fichiers (hiérarchique).

Troisièmement, sur la base des sections de dimension existantes, de nouvelles sections hiérarchiques peuvent être définies à l'aide des outils de l'interface développeur OLAP (par exemple, avec moins de niveaux, avec un ordre de niveaux différent, etc.)

Quatrièmement, sur la base des indicateurs et des sections existants, en utilisant des expressions du langage MDX, de nouveaux indicateurs (calculs) peuvent être définis. Il est important de noter que les nouveaux cubes, les nouveaux indicateurs, les nouvelles sections sont automatiquement entièrement intégrés aux éléments d'origine. Il convient également de noter que des calculs mal formulés et des sections hiérarchiques peuvent ralentir considérablement le fonctionnement d'un cube OLAP.

MS Excel comme interface avec OLAP

L'interface utilisateur avec les cubes OLAP est particulièrement intéressante. Naturellement, l'interface la plus complète est fournie par l'utilitaire SSAS lui-même. Cela comprend une boîte à outils de développement de cube OLAP, un concepteur de rapports interactif et une fenêtre travail interactif avec un cube OLAP utilisant des requêtes MDX.

En plus de SSAS lui-même, il existe de nombreux programmes qui fournissent une interface à OLAP, couvrant plus ou moins leurs fonctionnalités. Mais parmi eux, il y en a un qui, à notre avis, présente des avantages indéniables. Il s'agit de MS Excel.

L'interface avec MS Excel est assurée par un pilote spécial, téléchargeable séparément ou inclus dans la distribution Excel. Il ne couvre pas toutes les fonctionnalités d'OLAP, mais avec la croissance des numéros de version de MS Excel, cette couverture devient plus large (par exemple, dans MS Excel 2007, une représentation graphique des KPI apparaît, ce qui n'était pas dans MS Excel 2003, etc. ).

Bien entendu, outre ses fonctionnalités assez complètes, le principal avantage de MS Excel est la large diffusion de ce programme et sa connaissance étroite de la part de l'écrasante majorité des utilisateurs de bureau. En ce sens, contrairement à d’autres programmes d’interface, l’entreprise n’a pas besoin d’acheter quoi que ce soit de plus et n’a besoin de former personne en plus.

Le grand avantage de MS Excel en tant qu'interface avec OLAP est la possibilité de traiter de manière indépendante les données obtenues dans le rapport OLAP (c'est-à-dire de continuer à étudier les données obtenues à partir d'OLAP sur d'autres feuilles du même Excel, sans plus utiliser les outils OLAP, mais en utilisant les outils Excel habituels).

Cycle de soins nocturnes Facubi

Nous allons maintenant décrire le cycle de calcul quotidien (nuit) du fonctionnement d'OLAP. Le calcul est réalisé sous le contrôle du programme facubi, écrit en C# 2005 et lancé via Task Scheduler sur un serveur avec entrepôt et SSAS. Au début, facubi va sur Internet et lit les taux de change actuels (utilisés pour représenter un certain nombre d'indicateurs dans une devise). Ensuite, effectuez les étapes suivantes.

Tout d'abord, facubi lance des SP qui effectuent une réplication partielle des bases de données de divers systèmes ERP (éléments de détention) disponibles sur le réseau local. La réplication est effectuée, comme nous l'avons dit, sur des « arrière-plans » pré-préparés - des images de systèmes ERP distants situés sur le serveur SSAS.

Deuxièmement, via SP, un mappage est effectué à partir des répliques ERP vers le stockage de l'entrepôt - une base de données spéciale, qui est la source des données du cube OLAP et située sur le serveur SSAS. Dans ce cas, trois tâches principales sont résolues :

  • Données ERP ajusté aux formats de cubes requis ; nous parlons deà la fois sur les tables et les champs de table. (Parfois, le tableau requis doit être « façonné », par exemple à partir de plusieurs feuilles MS Excel.) Des données similaires peuvent avoir différents formats dans différents ERP, par exemple, les champs d'identification de clé dans les répertoires 1C7 ont un code de caractères à 36 chiffres de longueur 8. , et _idrref champs dans les répertoires 1С8 – nombres hexadécimaux de longueur 32 ;
  • pendant le traitement un contrôle logique des données est effectué (y compris l'écriture de « valeurs par défaut » à la place des données manquantes, lorsque cela est possible) et un contrôle d'intégrité, c'est-à-dire vérifier la présence de clés primaires et secondaires dans les classificateurs correspondants ;
  • consolidation de code des objets qui ont la même signification dans différents ERP. Par exemple, les éléments correspondants des répertoires de différents ERP peuvent avoir la même signification, par exemple s'il s'agit de la même contrepartie. Le problème de la consolidation des codes est résolu en construisant des tables de mappage, où divers codes les mêmes objets sont amenés à l'unité.

Troisièmement, facubi lance procédure standard mise à jour des données du cube de processus (à partir des procédures de l'utilitaire SSAS).

Sur la base des listes de contrôle, facubi envoie des e-mails sur la progression des étapes de traitement.

Après avoir exécuté facubi, le Planificateur de tâches lance tour à tour plusieurs fichiers Excel, dans lesquels des rapports sont pré-créés sur la base d'indicateurs de cube OLAP. Comme nous l'avons dit, MS Excel a un interface logicielle(pilote téléchargeable séparément ou intégré) pour travailler avec des cubes OLAP (avec SSAS). Lorsque vous démarrez MS Excel, les programmes MS VBA (tels que les macros) sont activés, ce qui garantit la mise à jour des données des rapports ; les rapports sont modifiés si nécessaire et envoyés par mail (programme blat) aux utilisateurs selon des checklists.

Les utilisateurs du réseau local ayant accès au serveur SSAS recevront des rapports « en direct » configurés pour le cube OLAP. (En principe, ils peuvent eux-mêmes, sans aucun courrier, mettre à jour les rapports OLAP dans MS Excel qui se trouvent sur leur ordinateurs locaux.) Les utilisateurs en dehors du réseau local recevront soit des rapports originaux, mais avec des fonctionnalités limitées, soit pour eux (après la mise à jour des rapports OLAP dans MS Excel), des rapports spéciaux « morts » seront calculés qui n'accèdent pas au serveur SSAS.

Évaluation des résultats

Nous avons parlé ci-dessus de l'asynchronie d'OLTP et d'OLAP. Dans la variante technologique considérée, le cycle de mise à jour du cube OLAP est effectué la nuit (par exemple, il commence à 1 heure du matin). Cela signifie que dans la journée de travail en cours, les utilisateurs travaillent avec les données d'hier. Étant donné qu'OLAP n'est pas un outil d'enregistrement (consultez la dernière révision du document), mais un outil de gestion (comprenez la tendance du processus), un tel décalage n'est généralement pas critique. Cependant, si nécessaire, même dans la version décrite de l'architecture cubique (MOLAP), la mise à jour peut être effectuée plusieurs fois par jour.

Le temps d'exécution des procédures de mise à jour dépend des caractéristiques de conception du cube OLAP (plus ou moins de complexité, définitions plus ou moins réussies des indicateurs et des sections) et du volume des bases de données des systèmes OLTP externes. Selon l'expérience, la procédure de construction de l'entrepôt prend de quelques minutes à deux heures, la procédure de mise à jour du cube (Process) prend de 1 à 20 minutes. Nous parlons de cubes OLAP complexes qui réunissent des dizaines de structures de type étoile, des dizaines de « rayons » communs (sections de référence) pour celles-ci et des centaines d'indicateurs. En estimant le volume des bases de données des systèmes ERP externes basées sur les documents d'expédition, nous parlons de centaines de milliers de documents et, par conséquent, de millions de lignes de produits par an. La profondeur historique du traitement qui intéressait l'utilisateur était de trois à cinq ans.

La technologie décrite est utilisée dans un certain nombre de grandes entreprises: depuis 2008 dans la Compagnie Russe de la Pêche (RRK) et la Compagnie Russe de la Mer (RM), depuis 2012 dans la Compagnie Santa Bremor (SB). Certaines sociétés sont principalement des sociétés de négoce et d'achat (PPC), d'autres sont des sociétés de production (usines de transformation du poisson et des fruits de mer en République de Moldavie et en République de Biélorussie). Toutes les sociétés sont de grandes sociétés holding, réunissant plusieurs sociétés dotées de systèmes comptables informatiques indépendants et variés - allant des systèmes ERP standards tels que 1C7 et 1C8 aux systèmes comptables « reliques » basés sur DBF et Excel. J'ajouterai que la technologie décrite pour faire fonctionner les cubes OLAP (sans tenir compte de la phase de développement) soit ne nécessite aucun personnel spécial, soit relève de la responsabilité d'un analyste commercial à temps plein. Le problème tourne depuis des années mode automatique, fournissant quotidiennement aux différentes catégories de salariés de l’entreprise des reportings à jour.

Avantages et inconvénients de la solution

L'expérience montre que la solution proposée est assez fiable et simple à utiliser. Il est facilement modifiable (connexion/déconnexion de nouveaux ERP, création de nouveaux indicateurs et sections, création et modification de rapports Excel et de leurs listes de diffusion) avec invariance programme de contrôle facubi.

MS Excel en tant qu'interface avec OLAP offre une expressivité suffisante et permet à différentes catégories d'employés de bureau de se familiariser rapidement avec la technologie OLAP. L'utilisateur reçoit quotidiennement des rapports OLAP « standards » ; en utilisant l'interface MS Excel avec OLAP, vous pouvez créer indépendamment des rapports OLAP dans MS Excel. De plus, l'utilisateur peut continuer à étudier de manière indépendante les informations des rapports OLAP en utilisant les capacités habituelles de son MS Excel.

La base de données d'entrepôt « raffinée », dans laquelle sont consolidés plusieurs systèmes ERP hétérogènes (lors de la construction du cube), même sans aucun OLAP, permet de résoudre (sur le serveur SSAS, en utilisant la méthode de requête dans le langage Transactions SQL ou la méthode SP, etc.) de nombreux problèmes de contrôle appliqués. Rappelons que la structure de la base de données de l'entrepôt est unifiée et bien plus simple (en termes de nombre de tables et de nombre de champs de table) que les structures de base de données de l'ERP d'origine.

Nous notons particulièrement que dans la solution proposée, il existe la possibilité de consolider différents systèmes ERP dans un seul cube OLAP. Cela vous permet d'obtenir des analyses pour l'ensemble du portefeuille et de maintenir une continuité à long terme dans les analyses lorsqu'une entreprise passe à un autre système ERP comptable, par exemple lors du passage de 1C7 à 1C8.

Nous avons utilisé le modèle de cube MOLAP. Les avantages de ce modèle sont la fiabilité de fonctionnement et la rapidité de traitement des demandes des utilisateurs. Inconvénients : OLAP et OLTP sont asynchrones, ainsi que de grandes quantités de mémoire pour stocker OLAP.

En conclusion, voici un autre argument en faveur d’OLAP qui aurait pu être plus approprié au Moyen Âge. Parce que son pouvoir probant repose sur l’autorité. Un mathématicien britannique modeste et clairement sous-estimé, E. Codd, a développé la théorie des bases de données relationnelles à la fin des années 60. La puissance de cette théorie était telle qu'aujourd'hui, après 50 ans, il est déjà difficile de trouver une base de données non relationnelle et un langage d'interrogation de base de données autre que SQL.

La technologie OLTP, basée sur la théorie des bases de données relationnelles, a été la première idée d'E. Codd. En fait, le concept des cubes OLAP est sa deuxième idée, exprimée par lui au début des années 90. Même sans être mathématicien, on peut tout à fait s’attendre à ce que la deuxième idée soit aussi efficace que la première. Autrement dit, en termes d'analyse informatique, les idées OLAP vont bientôt conquérir le monde et supplanter toutes les autres. Tout simplement parce que le thème de l’analyse trouve sa solution mathématique globale dans OLAP, et que cette solution est « adéquate » (selon le terme de B. Spinoza) au problème pratique de l’analyse. « Adéquatement » signifie chez Spinoza que Dieu lui-même n'aurait pas pu penser à quelque chose de mieux...

  1. Larson B. Développement de l'analyse commerciale dans Microsoft SQL Server 2005. – Saint-Pétersbourg : « Peter », 2008.
  2. Codd E. Complétude relationnelle des sous-langages de base de données, systèmes de base de données, Courant Computer Science Sumposia Series 1972, v. 6, falaises d'Englwood, New York, Prentice – Hall.

En contact avec

Les données sont généralement rares et stockées à long terme. Il peut être mis en œuvre sur la base d'un SGBD relationnel universel ou de logiciels spécialisés (voir aussi OLAP). DANS produits logiciels La société SAP utilise le terme « infocube ».

Les indices du tableau correspondent aux dimensions (dimensions) ou aux axes du cube, et les valeurs des éléments du tableau correspondent aux mesures (mesures) du cube.

w : (X,oui,z) → w xyz,

X, oui, z- des mesures, w- mesure.

Contrairement à un tableau ordinaire dans un langage de programmation, l'accès aux éléments d'un cube OLAP peut être effectué soit par l'ensemble complet des dimensions d'index, soit par leur sous-ensemble, et le résultat ne sera alors pas un élément, mais plusieurs d'entre eux.

W : (X,oui) → W = ( wz1, wz2, …, w zn}

Description également connue Cube OLAP utiliser la terminologie de l'algèbre relationnelle comme projection de relations.

voir également


Fondation Wikimédia. 2010.

  • Diagramme en étoile
  • Notre maison est la Russie (faction)

Découvrez ce qu'est un « cube OLAP » dans d'autres dictionnaires :

    Cube OLAP- ... Wikipédia

    OLAP- (eng. traitement analytique en ligne, traitement analytique en temps réel) technologie de traitement des données, qui consiste en la préparation d'informations récapitulatives (agrégées) basées sur de grandes quantités de données, structurées par ... ... Wikipedia

    Cube (homonymie)- Cube est un terme à valeurs multiples : En mathématiques En stéréométrie, un cube est un polyèdre régulier hexagonal En algèbre, la troisième puissance d'un nombre Film Série de films de science-fiction : « Cube » « Cube 2 : Hypercube » « Cube Zero » Argot et jargon médical... ... Wikipédia

    cube- Ce terme a d'autres significations, voir Cube (significations). Type de cube Polyèdre régulier Face carrée ... Wikipédia

    Mondrien- Type de serveur OLAP Développeur de serveur OLAP Pentaho système opérateur multiplateforme logiciel Dernière version 3.4.1 (2012 05 07) Licence logiciel libre... Wikipédia - Système d'analyse de l'information Système automatisé permettre aux experts d'analyser rapidement de gros volumes de données est, en règle générale, l'un des éléments des centres situationnels. De plus, l'IAS comprend parfois un système de collecte... ... Wikipédia

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 un utilisateur-analyste peut interroger des informations. Les cubes sont créés à partir de faits et de dimensions.

Données- 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.

Des 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 pour les entreprises commerciales, les dimensions incluent souvent des catégories telles que « temps », « ventes », « produits », « clients », « employés », « emplacement géographique ». Les mesures sont le plus souvent structures hiérarchiques, qui sont des catégories logiques par 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 des dimensions).

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 de la création de tels cubes est de 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 la fonction MAX, pour le cube donné dans l'exemple, vous pouvez 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é d’en déterminer l’origine. Par exemple, comment définir le point 0 pour la dimension Produit ou Régions ? La solution à ce problème consiste à introduire un attribut spécial qui combine tous les éléments de la dimension. 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é, le 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.

    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 l'analyse multidimensionnelle complexe de grands volumes de données, car ils fournissent uniquement des résultats récapitulatifs pour la création de rapports, au lieu d'un grand nombre d'enregistrements individuels.

    Le concept d'OLAP a été décrit en 1993 par le célèbre chercheur en bases de données et auteur du modèle de données relationnelles 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 des 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 des données de base de données relationnelles, telles que Microsoft Access, dans ce cas le tableau linéaire est transformé en une hiérarchie structurelle (cube).

    L'assistant de création de cube OLAP est un outil de requête Microsoft intégré. 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. À l'aide de Microsoft Query, créez 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 alors être inclus dans la requête de la manière requise. nombre de fois.

    3. A la dernière étape de l'assistant de création de requête, positionnez le commutateur sur l'élément Création d'un cube OLAP à partir de de cette demande (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 comprend 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), Le 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 souhaité haut niveauà la liste Des 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. A la même étape de l'assistant, en utilisant menu contextuel Vous pouvez modifier le nom d'un 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. Les champs contenant des informations plus détaillées doivent être placés aux niveaux inférieurs. 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, vous devez le faire glisser vers un champ inférieur ou supérieur au sein de 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 consistent à créer un cube à chaque fois que vous ouvrez un rapport (si le cube est visualisé depuis Excel, nous parlons alors d'un 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 ouvrir Query pour exécuter à nouveau l'assistant de création de cube.

    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 le dossier standard, le nom du fichier de définition du cube s'affiche 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 .lionceau, dans lequel ces données sont stockées. Création ce fichier ne se produit pas immédiatement lorsque le bouton est enfoncé 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 les 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.



  • 
    Haut