Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Formations en ligne à Excel, Word, Office, Teams... Formez-vous en toute autonomie. Je les découvre !

Gestion des sources de données

Particularités des différents types de données

Comme nous l’avons aperçu dans le chapitre précédent, lors de la création de notre premier TCD basé sur PowerPivot, de nombreux types de sources de données sont supportés. Avant d’entrer dans le détail de chacun de ces types, reprenons la liste pour donner une idée plus claire de ce qui est possible. PowerPivot classe les sources de données en quatre catégories :

  • Bases de données relationnelles : les bases de données sont les sources de données les plus utilisées. PowerPivot supporte évidemment SQL Server, y compris ses variantes SQL Azure (base de données dans le Cloud) et Parallel Data Warehouse (entrepôt de données). Mais de nombreux autres moteurs de bases de données sont également disponibles : Access, Oracle, Teradata, Sybase, Informix, IBM DB2. Enfin, PowerPivot peut importer de la donnée par une connexion ODBC ou OLEDB, ce qui ouvre la porte à virtuellement n’importe quel moteur de bases de données relationnelles.

  • Sources multidimensionnelles : PowerPivot peut récupérer les données pour créer son propre cube depuis un autre cube dans SQL Server Analysis Services.

  • Flux de données : les flux de données accessibles par HTTP sont reconnus comme des sources...

Choix d’une source de données

Dans notre premier exemple, nous sommes passés par l’icône À partir d’autres sources pour montrer la richesse des sources de données disponibles, mais les icônes de PowerPivot permettent d’accéder aux sources par catégorie :

images/03OS01V13.png

La première icône propose une liste déroulante donnant un accès direct à certains des moteurs de base de données :

images/03OS02V13.png

La seconde donne accès à des sources de données en ligne :

images/03OS03V13.png

Nous reviendrons par la suite plus précisément sur l’utilité de ces sources en ligne.

Les deux icônes restantes donnent accès respectivement à tous les types de sources de données et aux connexions de données présentes dans le classeur Excel courant.

Dans le reste de ce chapitre, nous allons détailler les uns après les autres chaque type de source de données. Ceci peut sembler redondant, mais chaque mode de fonctionnement a ses particularités, et les options pour recueillir les données voulues sont parfois extrêmement différentes d’un type de source à l’autre.

Bases de données

Nous commençons par les bases de données, et pour ce qui est de ce type de sources, nous n’aurons pas besoin d’être exhaustifs par rapport aux moteurs supportés, car les différences sont minimes d’un moteur à l’autre. En pratique, elles ne correspondent qu’à la méthode de connexion à la base de données, chacune nécessitant un fournisseur et des paramètres de chaîne de connexion qui lui sont propres.

Considérant que les lecteurs intéressés par la technologie PowerPivot ont un peu plus de chances d’utiliser une base de données du même fournisseur de technologie, à savoir Microsoft, qu’un moteur concurrent, nous réaliserons les exemples ci-dessous en nous basant sur une instance SQL Server.

Installation d’une instance SQL Server

Si vous ne disposez pas d’une base de données SQL Server, vous pouvez installer une version gratuite nommée SQL Express. Sans rentrer dans les détails de l’installation (qui est très simple), voici les quelques étapes à suivre pour cela :

 Téléchargez le module d’installation sur le site microsoft.com (lancez une recherche Internet ou allez sur : http://www.microsoft.com/fr-fr/download/details.aspx?id=29062).

images/03OS04V13.png

 Dans les téléchargements proposés, choisissez la version With Tools, qui est la plus complète.

images/03OS05V13.png

 Lancez l’installation et acceptez toutes les valeurs par défaut de l’assistant, sauf besoin spécifique de votre installation, par exemple si vous n’installez pas SQL Express sur la même machine que celle à partir de laquelle vous utilisez PowerPivot.

 En fonction de votre système d’exploitation, vous aurez peut-être besoin de redémarrer votre machine.

 À la fin de l’installation, vous disposez d’une instance nommée SQLExpress.

 Vous pouvez vous connecter à cette instance de base de données depuis le SQL Server Management Studio, disponible dans la liste des programmes.

images/03OS06V13.png

Le nom du serveur de base de données est simplement [Le nom de votre machine]\SQLExpress.

Préparation de la base de données exemple

Des bases de données de test sont disponibles pour SQL Server...

Bases de données multidimensionnelles

PowerPivot ne se limite pas aux bases de données traditionnelles comme sources de données, et peut également prendre en charge des cubes de données. Le choix n’est toutefois pas aussi large que pour les moteurs de bases de données relationnelles, et l’utilisateur pourra seulement lire un cube en provenance de SQL Server Analysis Services.

Ce type de source correspondant à des besoins plus lourds et à une approche plus traditionnelle de la Business Intelligence, nous ne détaillerons pas ici les différentes options techniques qui lui sont associées.

Flux de données

Principes et protocole OData

Le principe des sources de type flux de données est que leur contenu est disponible sur des serveurs distants, sous la forme de ressources accessibles en utilisant le protocole HTTP. Pour faire une comparaison, les flux de données sont aux sources locales ce que les services web sont aux services locaux : une mise à disposition de données requêtables, mais en suivant les normes d’Internet.

L’approche de Microsoft pour les flux de données est entièrement tournée vers l’Open Data Protocol, dont la société est un des principaux instigateurs. Ce protocole, souvent abrégé en OData, est basé sur des requêtes HTTP de type REST et un format de retour Atom Pub. Plutôt que de tenter d’expliquer les principes derrière REST et la norme Atom Pub, ce qui ne pourrait être fait que de manière insatisfaisante vu qu’il ne s’agit pas du sujet de ce livre, nous préférons montrer un exemple simple d’utilisation d’une donnée au format OData. En l’occurrence, il s’agit d’une donnée publique, à savoir la base de données Northwind, exposée sous forme de flux OData exemple.

Le site OData.org contient de nombreuses sources de données publiques, disponibles dans la section Sample Services de l’URL http://www.odata.org/ecosystem/ :

images/03OS24V13.png

Afin de ne pas passer trop de temps sur ce qui n’est qu’un exemple de récupération de données, nous allons utiliser la seconde URL, qui est une version simplifiée de la base de données exemple Northwind, avec uniquement les catégories, les produits et les revendeurs (Northwind mime une base de données de commerce).

Dans un navigateur, l’affichage de la page http://services.odata.org/V3/OData/OData.svc/ renvoie les données conformes à la capture ci-dessous :

images/03OS25V13.png

Dans l’esprit d’un service REST, l’URL de base du service nous propose des catégories de données que nous pouvons simplement rajouter à la fin de l’URL utilisée, qui devient par exemple http://services.odata.org/V3/OData/OData.svc/Categories/.

Cette nouvelle URL nous amène à l’affichage suivant :

images/03OS26V13.png

Contrairement à la première...

Fichiers

Une source de données très souvent utilisée car elle permet d’interopérer avec quasiment n’importe quel système est le fichier texte. PowerPivot supporte les fichiers texte au format Comma Separated Value, à savoir des contenus textuels où chaque ligne représente une entrée de données (la première étant souvent réservée aux titres) et où les valeurs des différentes colonnes sont traditionnellement séparées par des virgules (d’où le nom de ce format, « comma » désignant la virgule en anglais), mais potentiellement aussi par des tabulations, des points-virgules, etc.

Voici un exemple de contenu du fichier Régions.csv :


Code Région;Libellé Région
42;Alsace
72;Aquitaine
83;Auvergne
26;Bourgogne
53;Bretagne
24;Centre
21;Champagne-Ardennes
94;Corse
43;Franche-Comté
11;Ile-de-France
91;Languedoc-Roussillon
74;Limousin
41;Lorraine
73;Midi-Pyrénées
31;Nord-Pas-de-Calais
25;Basse-Normandie
23;Haute-Normandie
52;Pays de la Loire
22;Picardie
54;Poitou-Charentes
93;Provence-Alpes-Côte d'Azur
82;Rhône-Alpes
01;Guadeloupe
03;Guyane
02;Martinique
05;Mayotte
04;La Réunion
 

Dans cet exemple, le séparateur est le point-virgule.

Pour intégrer les données de ce fichier dans un cube PowerPivot, nous allons suivre...

SharePoint

Un serveur SharePoint peut être considéré comme un fournisseur direct de données. En effet, aussi bien les listes de données SharePoint que les rapports de type SQL Server Reporting Services supportés par SharePoint peuvent servir de sources de données.

Nous montrons ici un exemple d’utilisation d’une liste de données SharePoint. SharePoint met à disposition un système de listes de données pour les utilisations les plus courantes (tâches, actualités, etc.), ce qui permet de véhiculer de la donnée structurée dans les sites collaboratifs. Dans notre exemple, nous choisissons de travailler avec la liste des tâches. Si nous observons cette liste dans l’interface web d’administration de SharePoint, nous pouvons noter les colonnes principales de données associées à ces entités :

images/03OS60V13.png

SharePoint met à notre disposition un flux de données au format OData pour requêter les tâches, comme toutes les autres données disponibles. Ce flux est disponible sur l’URL http://[ServeurSharePoint]/_vti_bin/ListData.svc et l’appel direct nous permet de trouver les catégories de données disponibles.

images/03OS61V13.png

Si nous complétons l’URL avec /Tâches comme nous le suggèrent les résultats ci-dessus, nous obtenons effectivement un flux d’informations...

Presse-Papiers

Si nous n’étions pas déjà convaincus de la versatilité de PowerPivot en termes de formats de données importables, il est également possible de simplement coller dans PowerPivot des données copiées depuis une source extérieure quelconque.

Imaginons par exemple que la page « Unités de base du système international » de Wikipédia nous fournisse des données textuelles nécessaires pour une analyse PowerPivot. Nous pourrions alors simplement sélectionner le contenu complet du tableau ci-dessous :

images/03OS50.png

 Sélectionnez la donnée du tableau.

 Pressez CtrlC pour copier la donnée.

Ensuite, nous pouvons utiliser les commandes du groupe Presse-papiers complètement à gauche du ruban PowerPivot pour coller la donnée dans une source PowerPivot :

images/03OS51.png

 Cliquez sur l’icône Coller de l’onglet Accueil, dans la fenêtre PowerPivot.

La fenêtre suivante apparaît alors :

images/03OS66V13.png

 Entrez Unités dans le champ Nom de la table.

 Cliquez sur OK.

Le contenu sera alors inclus dans le classeur Excel comme source de données d’analyse :

images/03OS67V13.png

Le Presse-Papiers n’étant pas conçu pour contenir des gros volumes de données, PowerPivot nous propose même une fonction Coller par ajout, qui permet de sélectionner...

Tableau Excel

Source de données simple

Les données Excel peuvent être incluses dans des analyses PowerPivot de deux manières, qui sont fondamentalement différentes. La plus simple consiste simplement à traiter un fichier Excel externe comme une source de données au même titre qu’un fichier CSV, par exemple. Depuis la fenêtre PowerPivot, la liste À partir d’autres sources fait bien apparaître Excel dans les possibilités :

images/03OS68V13.png

 Cliquez sur Fichier Excel puis sur Suivant.

La recherche d’un fichier Excel se fait comme n’importe quelle source externe de type fichier :

images/03OS69V13.png

 Cliquez sur Parcourir et sélectionnez le fichier Excel puis cliquez sur Suivant.

La fenêtre qui apparaît montre les différentes feuilles du classeur sélectionné. Dans notre exemple, PowerPivot détecte de nombreux ensembles de données qui pourraient être utilisés, mais seule une feuille contient des données.

images/03OS70V13.png

Un clic sur Afficher un aperçu et filtrer nous montre toutefois vite la limite d’une telle approche : les données de la feuille sont livrées en vrac et pour peu qu’il y ait un peu de mise en page, le tout sera quasi-inutilisable.

images/03OS71V13.png

Source de données liée

Une alternative permettant d’utiliser des zones Excel se devait donc d’exister. Microsoft a profité...

Comment bien préparer les données

De l’importance de la préparation des données

Comme dans de nombreux métiers (la plupart des métiers manuels, mais de nombreux métiers intellectuels également), il est essentiel de bien préparer son chantier avant de se mettre au travail. Il en va de même pour la préparation des sources de données à incorporer dans PowerPivot. Quelques manipulations importantes doivent être réalisées pour s’assurer un travail simple et efficace lors de l’exploitation des cubes de données. Certaines de ces manipulations peuvent être réalisées avec un simple éditeur de texte, d’autres nécessiteront des outils plus sophistiqués - comme Power Query, que nous montrerons plus loin.

Types des colonnes

Le type des colonnes de données doit être adapté. Traiter une donnée numérique ou une date comme une chaîne au lieu d’un type numérique ou date dédié posera tôt ou tard des problèmes de performance (dus au temps de conversion) ou de validité (parce que la date n’existe pas, par exemple). Les différents types de base sont les chaînes, les numériques, les dates et les booléens.

Nommage des colonnes

Le nommage est important afin de minimiser les risques d’erreur...