Je suis sûr que vous avez noté l’arrivée récente de SSAS Tabular en mode PaaS dans Azure. Je voulais rapidement revenir dessus parce que ça faisait au moins 2 ans qu’on le sentait venir, et que finalement ça valait le coup d’attendre.
Rappel : je bosse chez Microsoft maintenant. Même si ceux qui me connaissent savent que ça ne changera pas grand-chose à mon avis sur les produits, je préfère le rappeler pour être 100% transparent 😉
Azure Analysis Services c’est tout simplement la possibilité de déployer ses modèles SSAS Tabular dans le cloud sans se soucier du tout de l’installation ou de la configuration d’un serveur. Si on ajoute à ça le fait qu’il est désormais possible de développer un modèle Tabular dans SSDT en mode intégré (sans disposer d’une instance workspace), on peut donc aller du prototype à la production sans jamais toucher une ISO d’installation de SQL Server. Cool 😉
« Oui mais moi j’aime mieux Multidim ! » dirons certains. J’y répondrais qu’il n’est pas écarté qu’on voit les cubes rejoindre Tabular dans le service (le flou est maintenu dans l’annonce : « Support for multidimensional models will be considered for a future release, based on customer demand ». Mais surtout je dirais que SSAS Tabular est devenu vraiment solide avec SQL Server 2016, et qu’il est urgent de lui donner une deuxième chance (performance, support du many-to-many, nouvelles fonctions DAX…).
Je vous fais un petit tour d’horizon de comment c’est génial, en montant un datamart et le cube associé en moins de 30 minutes.
- Au programme:
- Création d’une base SQL Azure pour notre datamart
- Création d’une instance Azure Analysis Services
- Création d’un modèle SSAS Tabular dans Visual Studio (SSDT)
- Déploiement du modèle dans Azure Analysis Services
- Accès au modèle avec Power BI, Excel et SSMS
Tout commence dans le nouveau portail Azure : https://portal.azure.com. Si vous n’avez pas de compte Azure pas de problème, vous pouvez tout essayer gratuitement
- Première étape : Création de la base de données sur Azure SQL Database pour mon datamart, histoire de tout faire en PaaS
Pour un DWH de taille respectable on devrait plutôt utiliser Azure SQL Data Warehouse, mais pour s’amuser une SQL Database suffit:
Je vais la pré-remplir d’un sample: AdventureWorksLT v12. Notez que c’est une option à la création de la base, parfait quand on veut juste jouer avec le produit:
Je valide, et on peut laisser tourner et passer à la suite en attendant 😉
- Deuxième étape : la création de notre instance Azure Analysis Services
Cette fois-ci on regarde du côté Intelligence + Analytics:
Ne vous embêtez pas pour le pricing tier, D1 suffit pour notre petit test. Idéalement on devrait mettre la base SQL et Analysis Services dans le même groupe de ressources, et donc la même location. Par grave pour notre test si ce n’est pas le cas:
Là encore je valide et on laisse tourner.
- Troisième étape: dans SSDT (SQL Server Data Tools, les templates data/BI pour Visual Studio) on va créer un nouveau projet SSAS Tabular
Pas de panique si vous n’avez pas SSDT, il est désormais disponible en download direct et gratuit, tout comme SSMS d’ailleurs. N’hésitez pas à télécharger la version la plus récente, elle se base sur Visual Studio 2015, et est capable de gérer des projets SSAS/SSIS/SSRS de SQL Server 2012 à 2016
New Project > BI > Analysis Services > AS Tabular:
Profitez du mode intégré, c’est tellement plus pratique:
De là on va pouvoir se connecter à notre datamart : Model > Import From Data Source:
Un petit guide pour savoir comment configurer la connexion:
On passe sur l’impersonation pour le moment avec une option par défaut:
On veut ensuite choisir nos tables:
De quoi construire un petit modèle, avec 2 tables de fait et 4 dimensions :
Ça charge, et on peut valider que le modèle ressemble bien à quelque chose grâce à la vue en diagramme:
On peut ajouter des mesures, changer la direction du filtre en bidirectionnel entre les 2 tables de fait… Ou s’en passer 😉
La partie marrante c’est le déploiement. Dans les propriétés du modèle:
On configure la destination du déploiement. Retenez le nom du serveur (asazure://…) c’est celle qu’on utilisera plus tard pour se connecter à SSAS avec Excel ou Power BI :
Et lorsqu’on déploie:
Après une demande de credentials pour le processing du cube post déploiement:
On obtient un cube déployé dans les nuages !
- Quatrième et dernière étape: on va se connecter à notre cube avec SSMS, Power BI ou encore Excel
Le nom du serveur on l’a déjà, c’est celui qu’on a utilisé plus tôt au moment du déploiement (asazure://…).
Power BI: Get Data > SSAS
Excel: Get External Data > SSAS
Notez qu’il faut choisir l’option User Name / Password, et utiliser le compte Azure qui vient de créer le service (c’est juste pour le test, évidemment il est possible de créer toute une liste d’utilisateurs via Azure AD):
Enfin, avec SSMS, si vous êtes intégré avec Azure Active Directory ça marchera tout seul, sinon voir cet article (c’est simple):
Magique non ? 😉
Si ça vous plait, je vous encourage à l’essayer ainsi qu’à suivre le compte Twitter @Azure_AS pour être mis au courant de toutes les nouveautés.