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).

clip_image002

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

  1. Installation du serveur DataZen Enterprise
    1. Binaires et documentation
    2. Installation
      1. Installation sur un seul serveur
    3. Configuration de la machine virtuelle Azure
  2. Configuration du serveur Datazen Enterprise
    1. Création d’un utilisateur
    2. Création d’un hub de données
    3. Création d’une source de données
    4. Création d’une vue
  3. Point d’attention avec les requêtes MDX dans Datazen Enterprise Server
    1. Attention aux champs de type date
  4. Création d’un rapport avec notre source données
    1. Connecter DataZen Publisher au Serveur Datazen Enterprise
    2. Connecter le rapport à une source de données serveur
    3. Publier le rapport sur le serveur Datazen Enterprise
  5. Visualisation du rapport

 

Installation du serveur DataZen Enterprise

Binaires et documentation

La solution Datazen est constituée :

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.

clip_image004

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.

clip_image006

clip_image008

Lors d’une installation distribuée, c’est ici que l’on sélectionnera les services à installer ou non.

clip_image010

Définition du compte de connexion du « Core Service ». Dans cette installation, j’ai laissé l’option par défaut.

clip_image012

Attention, définition du mot de passe du compte « Admin ». Vous en aurez besoin pour votre première connexion.

clip_image014

Ici j’ai laissé la sélection par défaut.

clip_image016

Pensez bien à copier et conserver la clef du “Repository”.

clip_image018

Pensez bien à copier et conserver cette clef de l’instance

clip_image020

Définissez le compte pour le service « Data Acquisition » :

clip_image022

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.

clip_image024

clip_image026

clip_image028

clip_image030

 

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.

clip_image032

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 !

clip_image034

 

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.

clip_image036

Renseignez le formulaire de création d’utilisateur, puis cliquez sur « Create User ».

clip_image038

 

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.

clip_image040

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.

clip_image042

Une fois le hub créé, une liste déroulante apparaît à gauche. Cette liste permet de choisir le hub que l’on souhaite administrer.

clip_image044

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 Sourire, car j’ai bien compris l’amour que vous portez au cube multidimensionnel (et moi aussi, au passage Sourire ) !

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… » .

image

Dans la fenêtre « Create New Data Connection », sélectionnez la source de données dans la liste déroulante « Data Provider » .

clip_image049

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 :

clip_image051

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 »

clip_image053

 

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 »

image

Dans la fenêtre « Data Views », cliquez sur le bouton « New Data View ».

image

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 » :

clip_image061

Dans l’étape numéro 2, on récupère un aperçu du résultat de la requête :

clip_image063

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 »

clip_image065

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.

clip_image067

 

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 :

clip_image069

Le résultat était plutôt surprenant et surtout inutilisable, car seule la mesure était retournée :

clip_image071

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]

clip_image073

Et le résultat est :

clip_image075

C’est déjà plus exploitable !!! Sourire

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 :

clip_image077

Mais pour cela, il est nécessaire que vos champs date soient de type date Sourire !!! 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.

clip_image079

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

clip_image081

Dans le menu de droite, cliquez sur « Add new server connection » :

clip_image083

Dans la fenêtre « Connect to a Datazen Server », renseignez vos informations de connexion.

clip_image085

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 Sourire)

 

  • 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 :

clip_image087

Ou comme ceci si vous déroulez le menu :

clip_image089

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 :

clip_image091

Sélectionnez « Start from an empty dashboard » :

clip_image093

Cliquez sur le bouton « Data View », puis « Add Data »

clip_image095

Sélectionnez « Datazen Server »

clip_image097

Sélectionnez votre serveur Datazen Enterprise :

image

Sélectionnez votre connexion :

clip_image101

Puis sélectionnez votre vue. Cliquez sur le bouton « Import ».

clip_image103

Voici un aperçu des données dans Datazen Publisher (avec le bon format pour la date Sourire):

clip_image105

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à.

clip_image107

Puis une fois les informations renseignées, faîtes un clic droit, puis en bas à droite cliquez sur «  Publish to server »

clip_image109

Et voilà ! Sourire

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.

clip_image111

Et une copie d’écran de mon Lumia 1520 :

clip_image113

 

Franck Mercier

Sessions de formation gratuites :

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 :

Evaluation SQL Server 2014 :

Evaluation SQL Server 2016 CTP2 :

Evaluation Power BI :

Testez Azure gratuitement pendant un mois :