Datazen Enterprise dans une machine virtuelle Azure
Datazen est une solution de « data visualisation » très puissante permettant la création et le partage de rapports au design très poussé. De plus, l’outil de création de rapports est plutôt intuitif et permet même de définir le comportement du rapport en fonction de l’appareil utilisé (Ordinateur de bureau, tablette ou téléphone).
Microsoft a acquis la solution DataZen avec qui nous avons beaucoup collaboré durant ces dernières années. Vous trouverez plus d’information sur cette acquisition via le lien suivant : https://www.datazen.com/company/news.aspx#news09
J’ai eu l’occasion d’utiliser Datazen Enterprise Serveur lors de d’interventions chez des clients. Je profite donc de cette nouvelle acquisition et de mon expérience avec cette nouvelle solution pour détailler l’installation et l’exploitation de la partie serveur de DataZen dans une machine virtuelle Azure (IaaS).
Ce type d’installation me permet d’illustrer la diffusion de rapports lors des différents Proof of Concept (POC) que je réalise actuellement.
Dans cet article je traiterai des points suivants :
- L’installation du serveur Datazen Enterprise
- La configuration du serveur pour une première utilisation
- La création d’une source de données sur un cube tabulaire (j’ai choisi cette source car il y a une particularité de Datazen avec les requêtes MDX)
- L’utilisation de cette source de données avec Datazen Designer.
Plan de l’article
- Installation du serveur DataZen Enterprise
- Binaires et documentation
- Installation
- Installation sur un seul serveur
- Configuration de la machine virtuelle Azure
- Configuration du serveur Datazen Enterprise
- Création d’un utilisateur
- Création d’un hub de données
- Création d’une source de données
- Création d’une vue
- Point d’attention avec les requêtes MDX dans Datazen Enterprise Server
- Attention aux champs de type date
- Création d’un rapport avec notre source données
- Connecter DataZen Publisher au Serveur Datazen Enterprise
- Connecter le rapport à une source de données serveur
- Publier le rapport sur le serveur Datazen Enterprise
- Visualisation du rapport
Installation du serveur DataZen Enterprise
Binaires et documentation
La solution Datazen est constituée :
- D’un serveur : https://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-enterprise.aspx#sqlmobilebi
- D’un designer de rapports appelé Datazen Publisher : https://apps.microsoft.com/windows/fr-fr/app/datazen-publisher/a23f9233-bcda-49e3-bab4-5e8366b96a37
- D’un outil de visualisation de rapports appelé Datazen Viewer : https://www.datazen.com/start/
La liste des prérequis se trouve ici : https://www.datazen.com/docs/?article=server/installation_requirements
Les binaires d’installation de Datazen Enterprise Server se trouvent ici : https://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-enterprise.aspx#sqlmobilebi
La documentation complète de l’installation se trouve ici : https://www.datazen.com/docs/
Installation
Après avoir récupéré les binaires de Datazen Enterprise Server, l’installation se fait plutôt facilement dans le cas d’une installation complète sur une seule machine. Sachez que le Datazen Enterprise Server est composé de plusieurs services.
Ces services peuvent aussi être installés sur un seul serveur ou distribués sur différentes machines, en fonction des besoins.
Plus de détails sur une installation distribuée ici : https://www.datazen.com/docs/?article=server/installing_a_typical_distributed_deployment
Installation sur un seul serveur
Nous allons installer Datazen Enterprise Server sur une seule machine virtuelle Azure, puis nous allons configurer un point de terminaison afin d’y avoir accès depuis l’extérieur.
L’installation se passe plutôt bien et nous sommes vraiment en mode « Next » / « Next » /…/ « Finish » J. Par conséquent, je ne commenterai pas toutes les copies d’écran.
Lors d’une installation distribuée, c’est ici que l’on sélectionnera les services à installer ou non.
Définition du compte de connexion du « Core Service ». Dans cette installation, j’ai laissé l’option par défaut.
Attention, définition du mot de passe du compte « Admin ». Vous en aurez besoin pour votre première connexion.
Ici j’ai laissé la sélection par défaut.
Pensez bien à copier et conserver la clef du “Repository”.
Pensez bien à copier et conserver cette clef de l’instance
Définissez le compte pour le service « Data Acquisition » :
Enfin, définissez le port d’accès au site IIS qui hébergera Datazen Enterprise Server.
Ici, j’ai laissé le port par défaut : 80.
Configuration de la machine virtuelle Azure
Une fois l’installation terminée, je suis allé sur mon portail azure (https://portal.azure.com) pour ouvrir le point de terminaison correspondant au site IIS défini lors de l’installation.
Dans mon cas, le port 80.
Configuration du serveur Datazen Enterprise
Après avoir installé les binaires, il faut maintenant configurer le serveur.
Si vous avez réalisé une installation par défaut, l’interface d’administration du serveur est disponible via l’adresse suivante https:// <nom_du_serveur> /cp.
Vous arrivez alors sur la page de connexion de votre Datazen Enterprise Server.
C’est là que vous allez entrer le nom « Admin » et le mot de passe que vous avez défini lors de l’installation !
Création d’un utilisateur
Une fois connecté, vous arrivez sur la page « Home » de votre serveur Datazen Enterprise.
Cliquez sur le bouton « Create User » pour ajouter des utilisateurs à votre serveur.
Renseignez le formulaire de création d’utilisateur, puis cliquez sur « Create User ».
Création d’un hub de données
Une fois de retour sur la page d’accueil, cliquez sur « Create BI Hub ».
Un hub est un élément important de la solution Datazen, car c’est l’endroit où vos utilisateurs pourront, entre autre, publier leurs rapports.
Renseignez les informations de création du hub (pour une raison que j’ignore, dans le champ «Maximum users», j’étais obligé de passer en cap lock pour saisir les chiffres).
Cliquez sur le bouton « Create » pour valider votre saisie.
Une fois le hub créé, une liste déroulante apparaît à gauche. Cette liste permet de choisir le hub que l’on souhaite administrer.
Création d’une source de données
Dans le cas où vous souhaitez utiliser l’outil client Datazen Publisher avec des sources de données telles que SQL Server, un cube Analysis Services (Tabulaire ou Multidimensionnel),…, il est nécessaire de créer la source de données dans le hub de données.
Pour cet exemple, j’ai choisi de vous illustrer la connexion à un cube qui appartient à une instance nommée dont j’ai ouvert un port spécifique (pensez à ouvrir ce port dans le firewall du serveur SSAS) . Et ce pour 2 raisons :
- La connexion au cube en elle-même, n’est pas très logique par rapport aux options qui sont proposées
- Datazen Enterprise Server interprète le MDX à sa façon et il faut repenser un peu ses requêtes afin d’obtenir des données exploitable dans le Datazen Designer
Ah oui, je me connecte à un cube tabulaire ! Alors, avant que vous me tombiez dessus en me disant « Pourquoi pas un cube Multidimensionnel ». Tout simplement parce que, pour les besoins d’un POC, je devais utiliser ce cube avec le nouveau connecteur de Power BI (https://blogs.technet.com/b/franmer/archive/2015/01/08/power-bi-et-le-connecteur-analysis-services.aspx). J’anticipe la question , car j’ai bien compris l’amour que vous portez au cube multidimensionnel (et moi aussi, au passage ) !
Dans la partie gauche, sélectionnez un hub de données dans la liste déroulante puis cliquez sur “Data Sources” .
En haut de la fenêtre, cliquez sur « New Data Connection… » .
Dans la fenêtre « Create New Data Connection », sélectionnez la source de données dans la liste déroulante « Data Provider » .
Donnez ensuite un nom à votre source de données et renseignez les informations dans la partie « Properties ». Ci-dessous, un exemple concret de connexion à un cube :
Un bout de documentation existe sur le site de Datazen, mais elle n’explique pas grand-chose au final : https://www.datazen.com/docs/?article=server/data_source_types
Dans les tests que j’ai réalisés, il n’est pas nécessaire de renseigner les champs « UserName » et « Password ». Je n’ai pas eu le temps de creuser pour voir comment fonctionne en détail la connexion.
De plus, vous avez noté que dans le champ « Data Source » j’ai renseigné le nom de mon serveur SSAS suivi du numéro de port. (<Nom du Serveur>:<N°de port>. Pas besoin de spécifier le nom de l’instance.)
Cliquez sur le bouton « Next » .
Dans la partie 2 de la configuration, vous allez définir les droits d’accès à la source de données, soit au niveau des groupes, soit au niveau des utilisateurs.
Cliquez sur «Finish »
Création d’une vue
Maintenant que la source de données est créée, il reste à créer les vues que vous allez rendre accessible à vos utilisateurs finaux.
Pour créer une (ou plusieurs) vue, cliquez sur le nom de la source de données. Dans notre cas, nous allons cliquez sur la source « We can Funk »
Dans la fenêtre « Data Views », cliquez sur le bouton « New Data View ».
Dans la fenêtre « Create New Data view », dans l’étape 1, définissez le nom de votre vue, ainsi que la fréquence de mise à jour.
Puis entrez votre requête d’extraction de données dans la partie « Data View Query » :
Dans l’étape numéro 2, on récupère un aperçu du résultat de la requête :
Cependant, pour mon POC, je devais descendre au niveau de la page, j’ai donc utilisé la requête ci-dessous :
WITH
member measures.langue AS [Wikipedia_Full].[Language].CurrentMember.Name
member measures.jour AS [Wikipedia_Full].[Days].CurrentMember.Name
member measures.page AS [Wikipedia_Full].[Page].CurrentMember.Name
member measures.Fulldate as cdate(format([Wikipedia_Full].[Date].CurrentMember.Member_Value,"yyyy-MM-dd hh:mm"))
SELECT NON EMPTY { measures.FullDate , measures.langue, measures.jour,[Measures].[Nb Hit],measures.page } ON Columns,
NON EMPTY FILTER( ([Wikipedia_Full].[Date].Children,[Wikipedia_Full].[Language].Children,[Wikipedia_Full].[Year].Children, [Wikipedia_Full].[Num_Month].Children,[Wikipedia_Full].[Days].Children, [Wikipedia_Full].[Hour].Children, [Wikipedia_Full].[Page].Children), [Measures].[Nb Hit]>1000) on Rows
FROM [Model]
Avec cette requête, la page de l’étape numéro 2 indique un « Data preview failed » pour une question de « timed out » (il y a sûrement moyen de modifier la valeur de ce time out).
Cliquez quand même sur le bouton « Finish » car la requête sera fonctionnelle et utilisable via « Datazen Designer »
Après avoir cliqué sur le bouton « Finish », voici ci-dessous un résumé de la vue. Notez l’état « Successful » malgré le time out lors de la prévisualisation du résultat.
Point d’attention avec les requêtes MDX dans Datazen Enterprise Server
Au départ, ma requête avait la forme ci-dessous :
SELECT NON EMPTY { [Measures].[Nb Hit] } ON COLUMNS,
NON EMPTY { ([Wikipedia_Full].[Date].[Date].ALLMEMBERS * [Wikipedia_Full].[Language].[Language].ALLMEMBERS ) } ON ROWS
FROM [Model]
Bref, une forme assez classique en fait.
Mais une fois utilisée avec DataZen Enterprise Server :
Le résultat était plutôt surprenant et surtout inutilisable, car seule la mesure était retournée :
La solution est d’utiliser la commande WITH pour créer les mesures que l’on affichera aussi en colonne
Ma requête est donc devenue
WITH
member measures.Langue as [Wikipedia_Full].[Language].CurrentMember.Name
member measures.Fulldate as cdate(format([Wikipedia_Full].[Date].CurrentMember.Member_Value,"yyyy-MM-dd hh:mm"))
SELECT NON EMPTY { measures.Langue, measures.Fulldate, [Measures].[Nb Hit] } ON COLUMNS,
NON EMPTY { ([Wikipedia_Full].[Date].[Date].ALLMEMBERS * [Wikipedia_Full].[Language].[Language].ALLMEMBERS ) } ON ROWS
FROM [Model]
Et le résultat est :
C’est déjà plus exploitable !!!
Attention aux champs de type date
Dans Datazen Publisher il est possible d’utiliser des contrôles temporels afin de filtrer les données du rapport sur l’axe temps :
Mais pour cela, il est nécessaire que vos champs date soient de type date !!! Pour le vérifier, il suffit de vérifier si une horloge est représentée dans l’entête de la colonne qui doit contenir les dates.
C’est pour cela, que dans ma requête MDX, j’ai utilisé le couple cdate et format afin d’être certain d’avoir un champ date compréhensible par Datazen Designer.
member measures.Fulldate as cdate(format([Wikipedia_Full].[Date].CurrentMember.Member_Value,"yyyy-MM-dd hh:mm"))
Création d’un rapport avec notre source données
La création d’un rapport se fait sur un poste de travail sur lequel DataZen Publisher est installé.
Un article détaillé sur la création de rapport a été publié par Ludovic Bouaziz : https://blogs.technet.com/b/theholybiblog/archive/2015/06/19/introduction-224-datazen.aspx
Ici, je vais juste illustrer la connexion à notre source de données hébergée sur notre serveur Datazen Enterprise
Connecter DataZen Publisher au serveur Datazen Enterprise
Exécutez Datazen Publisher.
Dans DataZen Publisher, faîtes un clic droit et cliquez sur le bouton « Create » en bas à droite
Dans le menu de droite, cliquez sur « Add new server connection » :
Dans la fenêtre « Connect to a Datazen Server », renseignez vos informations de connexion.
Pour vous remercier d’avoir lu mon article jusqu’ici, je vais vous donner accès à mon serveur, dans le cas où vous souhaiteriez faire des tests ou des démos (sympas le gars )
- Server adress : J2-SQL-D.cloudapp.net
- Username : Demo
- Password : Pass@word1
Décochez la case “Use Secure Connection”
Si tout va bien, votre serveur doit être connecté et représenté de la manière suivante :
Ou comme ceci si vous déroulez le menu :
Vous pouvez créer un rapport depuis un fichier Excel et le publier sur le serveur. Ensuite ce rapport sera disponible sur tous appareils disposant de Datazen Viewer
Connecter le rapport à une source de données serveur
Depuis la page d’accueil de DataZen Publisher, faîtes un clic droit et cliquez sur le bouton « Create » en bas à droite :
Sélectionnez « Start from an empty dashboard » :
Cliquez sur le bouton « Data View », puis « Add Data »
Sélectionnez « Datazen Server »
Sélectionnez votre serveur Datazen Enterprise :
Sélectionnez votre connexion :
Puis sélectionnez votre vue. Cliquez sur le bouton « Import ».
Voici un aperçu des données dans Datazen Publisher (avec le bon format pour la date ):
Il ne vous reste plus qu’à faire un beau rapport en suivant l’article de Ludovic : https://blogs.technet.com/b/theholybiblog/archive/2015/06/19/introduction-224-datazen.aspx
Publier le rapport sur le serveur Datazen Enterprise
Maintenant que le rapport est prêt, vous pouvez le sauvegarder localement ou le publier sur le serveur. Pour réaliser cette dernière opération, cliquez sur « Dashbord Settings », puis sur « Server Settings ».
Sélectionnez votre serveur, donnez un titre au rapport, sélectionnez un “Hub” puis créez un “Server Group” si aucun n’existe déjà.
Puis une fois les informations renseignées, faîtes un clic droit, puis en bas à droite cliquez sur « Publish to server »
Et voilà !
Visualisation du rapport
Le rapport peut être visualisé via l’application Datazen Viever.
Ci-dessous une photo d’un de mes rapports sur un iPad.
Et une copie d’écran de mon Lumia 1520 :
Sessions de formation gratuites :
-
- Microsoft Virtual Academy : https://www.microsoftvirtualacademy.com/
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 et SQL Server 2014 CTP2, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
Windows Server 2012 :
-
- d'une image ISO : https://aka.ms/jeveuxwindows2012
- d'un fichier VHD avec un système préinstallé : https://aka.ms/jeveuxwindows2012
Evaluation SQL Server 2014 :
Evaluation SQL Server 2016 CTP2 :
Evaluation Power BI :
Testez Azure gratuitement pendant un mois :
Comments
- Anonymous
June 26, 2015
super article ! merci pour la partie sur les dates qui pose vraiment des problèmes quand on ne connaît pas l'outil. - Anonymous
August 28, 2015
Bonjour,
Tout d'abord, super article !
J'aurais une petite question : auriez vous de la documentation sur la connexion avec une liste SharePoint ? Tous les exemples disponibles sur la toile ne concerne que la partie Sql Server ( comme DataSource).
Cdlt.