mercredi 18 juillet 2012

[Office 15] Excel 2013 : PowerPivot et PowerView en natif

Hier avait lieu la présentation et la mise à disposition de la preview d'Office 15 (qui s'appellera Office 2013).
Ça se passe par ici pour la télécharger :

Pour les consultants BI que nous sommes, c'est l'occasion de voir les nouveautés d'Excel, outil de reporting par excellence. Et les premières impressions sont plutôt bonnes et rassurantes.

PowerPivot 

L'équipe office a donc intégré PowerPivot en natif. Il est vu comme un add-in dans la page d'options d'Excel.


Malheureusement, je n'ai pas pu tester plus en détail, car j'obtiens un message d'erreur dès le clic sur "Manage". J'ai eu beau réinstaller plusieurs fois la preview, j'obtiens le même message (PowerPivot is unable to load the Data Model). On mettra ça sur le compte de la pré-version. MAJ : en installant PowerPivot pour Excel 2010, ça a l'air fonctionnel, mais j'ai deux onglets POWERPIVOT dans le ruban (apparemment un 2010 et un 2013).

 


PowerView

Même chose que pour PowerPivot, l'équipe a intégré PowerView de manière native, comme un add-in.


 Et PowerView est fonctionnel : à l'import classique des données, la dernière boîte de dialogue demande si l'on souhaite intégrer ces données dans un rapport PowerView.


Cela ne marche pour l'instant toujours qu'avec un modèle Analysis Services Tabular (on espère que c'est une limitation due à la pré-version).

Cela ouvre un onglet Excel spécifique en Silverlight avec un menu dans le ruban POWERVIEW.


On peut ensuite commencer à créer sa première analyse.
Une dernière surprise de la preview que vous pourrez constater dans la copie d'écran qui suit : l'intégration de la cartographie dans PowerView, qui manquait cruellement dans la précédente version :


Dans l'exemple précédent, PowerView a matché tout seul les villes par leurs noms (à l'aide Bing Maps), mais on constate également la possibilité de mentionner les latitudes et les longitudes.

Conclusion :

Cette pré-version d'Excel 2013 est vraiment intéressante (elle l'aurait été plus si j'avais réussi à faire fonctionner PowerPivot), avec l'intégration de ces deux fonctionnalités en natif. 
L'ajout de PowerView est un point également très important quand on connait la méthode de déploiement actuelle de l'outil (lourde à l'installation et à l'utilisation via Sharepoint). De plus l'ajout de nouveautés comme la cartographie ne peut être que bénéfique à l'outil pour s'imposer face à la concurrence.







mercredi 11 juillet 2012

[SSAS 2012] Croiser les niveaux fins des dimensions avec Analysis Services en mode Tabular

Après deux articles sur les termes en vogue du moment, un petit retour chez Microsoft s'impose, et notamment sur SQL Server 2012 sorti cette année.
La nouvelle version d'Analysis Services a apporté un nouveau mode qui provient directement de PowerPivot : le mode Tabular.

On ne reviendra pas sur les différences entre les versions Tabular et Multidimensionnal (toutes deux disponibles dans SQL Server 2012), ni sur le mode à adopter suivant les projets, de nombreux articles de blogs en parlent. De plus cela a fait l'objet d'une session aux TechDays de cette année (lien).

On va s'intéresser ici aux performances lors de l'interrogation d'un cube au format Tabular. En effet, ce mode  a aussi été introduit pour répondre à la problématique d'interrogation des données fines via un cube.
Avant la sortie de SQL Server 2012, la réponse typique du consultant lorsque le client demandait un rapport croisant plusieurs niveaux fins de plusieurs dimensions était : "un cube Analysis Services n'est pas fait pour ça" (note de l'auteur : ce qui en soit n'est pas faux).

On va donc effectuer un petit test rapide :

On crée deux cubes "identiques" en multidimensionnel et en tabulaire : un cube avec une mesure CA, 3 dimensions (client, produit et magasin) et 1 million de lignes.



Sur ces cubes on va appliquer la requête MDX suivante (au nommage des objets entre les deux cubes près) :

Les résultats obtenus sont les suivants :

Multidimensionnel : 28s pour l'exécution de la requête :


Tabulaire : 29s pour l'exécution de la requête :



Mais alors finalement, il n'y a pas de différence selon le moteur utilisé ?

En fait la différence se fait par rapport au langage utilisé : MDX versus DAX. Et le DAX ne peut être utilisé (aujourd'hui) qu'avec les modèles tabulaires.
Si vous attaquez votre cube en MDX, vous ne constaterez que peu de différence de performance entre les deux modes. En revanche si vous traduisez votre requête MDX en DAX sur votre modèle tabulaire, vous allez constater une nette amélioration.

Sur mon modèle tabulaire, j'exécute la requête suivante (qui renvoie le même résultat que ma requête MDX) :

On obtient une durée d'exécution de 9s (Notez que c'est à 1s près le temps d'exécution de la requête SQL pour sortir le même résultat sur les tables sources) :


On constate bien le gain appréciable de performance obtenu.

En conclusion si vous avez opté pour le mode multidimensionnel, pas de changement d'attitude à avoir, c'est encore le langage MDX que vous devrez utiliser (du moins pour l'instant).

En revanche si vous avez opté pour le mode tabulaire, il peut être vraiment intéressant de se pencher sur le langage DAX dès l'instant où vous interrogez des données fines dans les dimensions.











mardi 10 juillet 2012

Big Data : Qu'est-ce que c'est ?

Après DataViz, un autre terme en vogue en ce moment, BIG DATA.

Alors une première remarque concernant Big Data : ce n'est pas une technologie précise, mais plutôt un concept qui désigne des ensembles de données extrêmement volumineux. Et derrière ce concept se cache donc différentes technologies et différentes problématiques tels que le stockages à travers des systèmes de fichiers (chose aujourd'hui mature et relativement transparente pour un utilisateur de bases de données relationnelles), et la manipulation de ces données.

Big Data est apparu pour répondre à la problématique des 3V (Velocity, Volume, Variety), problématique commençant à essouffler les SGBDR classiques, vu l'explosion des volumes de données lors de la dernière décennie.

Stockage de Fichiers

Le stockage des données s'effectue via des systèmes de fichiers distribués tels que Google File System (GFS) pour Google ou Hadoop Distributed File System (HDFS) pour Hadoop. Pourquoi avoir redéveloppé un système de fichiers et ne pas utiliser une base de données relationnelle classique à ce niveau là ? J'avoue que la question est ouverte, les SGBDR étant matures sur les clusters. Une réponse est peut-être de ne pas vouloir transformer et modifier les données avant stockage vu la volumétrie, donc gagner du temps. Cela permet de garder le format initial des données et donc de répondre aux problématiques de vitesse, volume et variété (3V).

Manipulation de données 

Ici on retrouve les programmes qui effectuent les traitements ou les calculs sur les données, toujours via un processus de distribution et de parallélisation, tels que le framework MapReduce. MapReduce a été introduit par Google, et Hadoop en utilise une implémentation via le programme Pig. Il sert à faire des comptages de données, des calculs statistiques ou des classifications.

On a trouve également d'autres outils plus en amont tels que Hive permettant de requêter et d'analyser les données. Il est implémenté dans Hadoop.

Base de données 

En bout de chaîne, on a des bases de données. Je citerai par exemple BigTable , Cassandra ou HBase qui piochent dans les technologies précédemment citées pour leur système de fichiers (GFS, HDFS) ou leur outil d'analyse.

Conclusion

On a l'impression que derrière Big Data se cache tous les développements spécifiques des gros consommateurs de données d'aujourd'hui (Google, Facebook, ...) et tout un tas de technologies différentes (systèmes de fichiers, frameworks, base de données) qui s'interconnectent totalement ou partiellement entre elles.

Le point à retenir du Big Data est la forte valeur donnée à la distribution et la parallélisation des traitements (Ce qui n'est pas une nouveauté en soi).
Les partenariats en cours vont-ils permettre de connaître une rationalisation des outils et la création d'une norme un peu plus claire dans l'avenir ? Rendez-vous dans deux ans :)

Big Data est un concept jeune et encore peu structuré, un peu comme ses bases de données finalement.

mercredi 4 juillet 2012

Le Livre du Mois : DataVision de David McCandless


Un petit bouquin pour les vacances, sur le sujet en vogue du moment : la Data Vizualisation ou DataViz.

Alors c'est un bouquin qui contient des rendus d'études statistiques, un peu "hype". Quelques exemples :


Je vous donne le pitch de la Fnac :

Chaque jour, nous risquons l'asphyxie, la noyade, inondés que nous sommes par l'information. La télévision, les journaux, le Web déversent désormais des flots ininterrompus de données, de chiffres, de prévisions. Dans cette masse, lorsqu'on trouve un schéma clair, une illustration lumineuse, un graphique explicite, c'est le soulagement, l'île au cœur de la tempête. Le design, en révélant la beauté cachée de l'information, nous aide à la comprendre, à la hiérarchiser, à la mémoriser. Comment ? Grâce à la puissance de notre œil. La vue est de loin le plus rapide et le plus puissant de nos sens. Et l'œil est délicieusement sensible aux variations de couleurs, de formes et de motifs. Il aime ce qui est beau. L'esprit, quant à lui, s'accroche d'abord aux mots, aux chiffres et aux concepts. Et si l'on combine le langage de l'œil avec celui de l'esprit, les deux langages, utilisés simultanément, s'enrichissent l'un l'autre. Et tout ? ou presque ? devient lumineux. C'est ainsi que ce livre fait la magistrale démonstration que l'on peut comprendre et mémoriser en un clin d'œil les sept chakras, l'évolution du mariage en Occident, le pourcentage d'étudiants vierges par disciplines universitaires, la conception fonctionnaliste de la conscience, la généalogie du rock et mille autres informations cruciales ou triviales. A vous de voir.


et le blog de l'auteur : David McCandless

C'est vraiment joli et sympa (et le bouquin est pas cher en plus :) ). Il y a malheureusement (ou heureusement peut-être vu la charge de développements que ça demanderait) peu d'applications directes avec la BI, car ce sont beaucoup de rendus statiques.
Néanmoins, on retrouve certaines choses implémentées dans des solutions de reporting : je pense aux treemaps par exemple :



J'en profite pour faire un peu de pub à Djeepy qui a écrit un article sur ce phénomène, et notamment un compte-rendu d'une conférence sur le sujet.