Les outils Microsoft de data mining sous Excel

Microsoft fournit depuis de nombreuses années un composant permettant de connecter  Excel aux fonctionnalités de Data Mining de SQL Serveur Analysis Services (SSAS). Je vais vous en donner un aperçu dans ce billet.

Une fois installé, de nouvelles fonctionnalités apparaissent sous Excel dans « Exploration de données »

DMToolBar

La qualité de données

DMPreparer

Les trois premiers outils automatisent des tâches de qualité de données. Ils ne nécessitent pas de connexion à un serveur SSAS.

On pourra ressortir des statistiques simples sur certaines colonnes (« Explorer les données »), gérer les valeurs atypiques par remplacements avec une moyenne ou une valeur par défaut (« Nettoyer les données »), ou extraire de son jeu d’enregistrement un jeu de test statistiquement valable (« Exemples de données »).

La modélisation

DMModeliser

Les tâches de modélisation de données reprennent les algorithmes proposés par SSAS et permettent de les appliquer sur vos données. Les sources peuvent être une feuille Excel ou un accès à une base de données (SQL Serveur uniquement).

On retrouve les fonctions détaillées ci-après.

Classer

La fonction « Classer » met en œuvre le modèle basé sur les arbres de décision. Les étapes sont simples, choix d’une variable à déterminer et critères à prendre en compte.

Ici, par exemple, l’acceptation d’un crédit en fonction du motif de l’emprunt, de l’assurance et des revenus.

image005

L’outil va faire apparaître les critères les plus discriminants de notre variable (emprunt accepté : oui/non). La restitution se fait avec un arbre de décision.

image006

On visualise sur la partie de gauche les informations du nœud sélectionné (ici « Assurance = ‘oui’ and Revenu_Menage >= 4604 » pour lequel on a 84,26% d’acceptation contre 14,74% de refus).

Estimer

La fonction « Estimer » permet de prévoir le résultat d’une valeur numérique en fonction des différentes caractéristiques de la population. Elle reprend la même représentation que la classification.

Cluster

La fonction « Cluster » construit des familles. L’objectif n’est pas de prédire une valeur mais de regrouper les individus du jeu de données en groupes homogènes.

La première étape consiste à sélectionner les caractéristiques à prendre en compte et de spécifier le nombre de groupes à déterminer (on peut aussi laisser l’algorithme le définir).

image008

Les résultats sont présentés par groupes (cluster) avec les caractéristiques des individus les composant (soit des moyennes et écarts types pour les variables continues, soit la distribution pour les variables discrètes).

image010

Associer et prévoir

« Associer » permet de créer une analyse du panier et « prévoir » fait intervenir des prédictions de séries (chronologiques par exemple).

Dans tous les cas, les modèles créés peuvent être temporaires ou sauvegardés sous SSAS. Et comme tous les modèles sauvegardés, ils pourront être réutilisés dans l’ETL de Microsoft (SSIS)… le sujet d’un autre billet.

Les tâches de maintenance

Les autres tâches vous permettront de valider la qualité de vos modèles (par application d’un jeu de données différent de celui ayant servi à la modélisation) et de les gérer sur le serveur SSAS (suppression, renomage, etc.).

En conclusion

Cet outil permet une approche utilisateur des algorithmes de datamining de SSAS. Il n’a jamais été aussi simple d’aboutir à un modèle. Il ne reste plus qu’à laisser les analystes de données en faire ressortir une compréhension et une valeur métier.

 

Nouveautés SQL Server 2016 (CTP2)

Microsoft a sorti courant Mai 2015 une pré-version de sa nouvelle plateforme SQL Server : SQL Server 2016 CTP 2.

En attendant la version finale prévue courant 2016 (aucune date n’a encore été avancée par Microsoft), voici un aperçu des principales nouveautés d’un point de vue BI.

Les changements lors de l’installation

  • Nécessite en pré-requis l’installation du JRE (Java Runtime), qu’il faut télécharger depuis le site d’Oracle.
  • Apparition du service de requête PolyBase (voir plus loin) qui utilise justement le framework Java.

Fonctionnalité SQL Server 2016

  • Possibilité de paramétrer le nombre de fichiers pour TempDb (le Best-pratice s’applique par défaut)

SQL_Server_2016 - Preview

  • Possibilité de choisir une installation de AS en mode « Power Pivot », afin de maîtriser l’instance nommée (ce n’était pas possible
    dans les versions précédentes, le nom de l’instance était fixe). Pour rappel, ce mode est réservé à SharePoint afin de gérer les feuilles de calcul Excel
    Power Pivot publiées dans SharePoint et visualisables dans une « Power Pivot Gallery »

SQL_Server_2016 - Preview 02

Les nouveautés/améliorations par produit

 

SSAS Multidimensionnelle

Pas de gros changements prévus a priori, si ce n’est des améliorations de performance qui resteront à vérifier (sur les hiérarchies non naturelles notamment, et les mesures Distinct Count).

SSAS Tabulaire

  • La possibilité de faire des relations many-to-many ! Enfin !!! Cette fonctionnalité de base était vraiment handicapante, même pour construire des modèles de données simples, et les clients s’en plaignaient un peu
  • L’introduction des variables pour la langage DAX, apportant plus de lisibilité et de ré-utilisation dans des formules complexes

Moteur relationnel

  • Basé sur la technologie de traitement en mémoire, nommé « Hekaton » depuis 2012, déjà utilisé par SQL Server 2014
  • PolyBase, qui permet d’attacher des bases de données en provenance d’Hadoop comme une base relationnelle classique
  • Intégration du langage R via l’acquisition de « Revolution Analytics »
  • Support du JSON
  • Fonction « Strech database » pour basculer certaines données peu utilisées vers Azure

SSIS

  • Intégration de PowerQuery au sein même de l’ETL
  • Support du JSON
  • Déploiement incrémental d’un projet, au lieu d’écraser la solution sans possibilité de versioning.

SSRS

  • Personnalisation du visuel avec le support de CSS
  • Support d’autres navigateurs qu’Internet Explorer
  • Intégration de rapports SSRS dans Power BI

Voici les grandes nouveautés de SQL Server 2016 (pour l’instant). Je m’attarderai plus en détail sur quelques unes de ces fonctionnalités dans de prochains posts sur ce blog.

PowerPivot dans la BI

Excel-PowerBIAvec l’arrivée des outils de la suite PowerBI, nombreux sont les clients qui ont été séduits par l’apparente facilité afin de produire des restitutions « sexy » et interactives directement dans Excel, qui reste l’un des outils MS Office les plus connus et les plus utilisés à ce jour dans le monde de l’entreprise.

PowerPivot repose sur 2 principes :

  • le « Self-service BI » : l’utilisateur est en mesure de créer ses propres rapports/dashboards sans compter sur l’équipe IT.
  • le partage : les rapports peuvent être facilement partagés, que ce soit en échangeant le fichier Excel, en publiant dans SharePoint…

Est-ce que PowerPivot peut remplacer un DataWarehouse ?

PowerPivot est capable de récupérer des informations de différentes sources (bases SQL, Oracle, Excel, Fichier plats, rapports SSRS, dans le Cloud…). Avec son moteur in-Memory, il permet de gérer des millions de lignes avec une performance inégalée. Il peut être légitime alors de se demander si la présence d’un DataWarehouse (DW) est vraiment nécessaire.

Évidemment, vous vous doutez de la réponse : Non, PowerPivot ne remplace pas la mise en place d’un Datawarehouse.

Les cas d’utilisation ne sont pas les mêmes. Je dirais même que dans la bonne pratique, PowerPivot nécessite un datawarehouse. Les 2 solutions ne sont pas concurrentes mais complémentaires :

DWLe DW permet de stocker l’information d’entreprise commune pour tous, et représente une seule version de la vérité d’entreprise. Il est contrôlé par l’IT et s’appuie sur une architecture robuste et performante. Il est aussi optimisé pour une analyse BI et un « forage » des données, via la mise en place d’un modèle multidimensionnel regroupant tables de dimensions et tables de faits. Un DW intègre aisément l’historique des données et les changements à variation lente sur les axes d’analyse, chose beaucoup plus difficile à mettre en place dans PowerPivot.

excel_powerpivotPowerPivot permet surtout d’intégrer des données personnelles, c’est-à-dire des informations récupérées depuis son poste, éventuellement en complément des informations d’entreprise présente dans le DW. Cela permet à l’utilisateur de répondre rapidement à ses besoins de reporting, en évitant l’attente souvent longue de la part de l’IT (ou des professionnels de la BI). L’équipe IT peut alors concentrer ses efforts sur d’autres problématiques.

Qui n’a jamais rencontré un client qui, une fois son besoin de reporting expliqué et la restitution réalisée, se rend compte que son besoin a changé ou est devenu obsolète ?
Les fonctionnels sont souvent avides de nouvelles présentations, en intégrant de nouvelles données pour effectuer des comparaisons, voire simplement à manipuler les mêmes informations que le DW mais dans des sens différents.

Mais encore ?

PowerPivot est idéal pour « accrocher » les utilisateurs, et les inclure dans la mise en place de la solution BI de l’entreprise. Ils participent à la création de rapports, souvent très personnels au début, et peuvent par exemple les publier sur un portail de collaboration SharePoint pour partager leur analyse avec leurs collègues du même métier.
Social engineering concept
Avec le temps, on se rend généralement compte que certains besoins de reporting se recoupent et se ressemblent : l’IT peut alors industrialiser ce besoin en le formalisant sous forme de rapports/analyses institutionnels en partant des « draft » construits par les utilisateurs ; Ces rapports/analyses se basant maintenant sur le DW d’entreprise.

Oui mais…

PowerPivot permet de créer des représentations simples très rapidement. Mais les utilisateurs peinent beaucoup plus ensuite pour étendre les fonctionnalités dans leur rapport, dû au manque de connaissance en modélisation BI et en formation sur l’outil.

A l’inverse, la mise en place d’un DW est assez coûteuse en temps au départ, mais permet de construire un socle robuste pour faciliter la construction de rapport par la suite, puisque toutes les bonnes pratiques BI de modélisation sont présentes et déjà en place.

Est-ce que PowerPivot peut remplacer un cube ?

Certes, PowerPivot est capable d’agréger plus de 100 millions de lignes grâce à son moteur xVelocity, en provenance de sources différentes (SQL Server, Excel, fichier plats…).

Petit tableau récapitulatif des principales différences entre les technologies :

PowerPivot (Excel) Cube OLAP Cube Tabulaire
Langage DAX MDX DAX
Modélisation Liens simples :1-1 ou 1-n Liens complexes :1-1, 1-n, n-n Liens simples :1-1 ou 1-n
Accès aux fichiers Restreint aux droits de l’utilisateur Intégré dans un plan de sécurité Intégré dans un plan de sécurité
Prix Gratuit Payant (licence SQL Server) Payant (licence SQL Server)
Mesures calculées Oui Oui Oui
Mise en œuvre Rapide Lente Intermédiaire

PowerPivot se prête bien à la construction de POC (Proof-Of-Concept) ou de maquette pour une mise en œuvre rapide, en se focalisant sur un domaine particulier (exemple : seulement les ventes de telle organisation et de tel secteur). Cela permet de donner un aperçu rapide des analyses BI qu’il est possible de faire.

La taille de l’équipe détermine aussi la technologie mise en place :

  • Une petite équipe (quelques personnes) peut se permettre d’utiliser PowerPivot et de s’échanger les fichiers Excel.
  • Une équipe plus conséquente doit impérativement mettre en place un cube pour avoir modèle plus robuste : PowerPivot reste possible dans un cadre restreint d’utilisateurs !
%d blogueurs aiment cette page :