Développer des extensions sur Qlik Sense

Les extensions

Une extension Qlik Sense est un composant qui permet d’ajouter à la plateforme Qlik Sense de nouveaux types de visualisations. Ce concept permet de combiner des APIs Qlik Sense avec les capacités illimitées du Web.

Une fois créée, l’extension a le même comportement qu’un composant Qlik Sense natif : on peut ajouter des dimensions, des mesures et préserver le principe d’interactivité de Qlik Sense.

Architecture

Le serveur Qlik Sense nous propose un certain nombre d’APIs. Ces interfaces permettent une interaction avec notre serveur, ce qui permet d’extraire des données ainsi que diverses informations. Ces données et informations extraites peuvent être traitées avec du JavaScript afin de les structurer et de les visualiser selon notre besoin.

En plus du JavaScript basique, des bibliothèques CSS (comme Bootstrap) et du HTML peuvent être utilisés afin de faire des Dataviz plus au moins personnalisées.

Extensions QlikSense

Les possibilités d’extension

  • Exploitation des bibliothèques JavaScript existantes Highcharts, D3JS, Google Charts.
  • Utilisation des APIs sur le Web : Google Maps, Twitter.
  • Utilisation des bibliothèques de style comme Bootstrap.
  • Développement des visualisations et des comportements selon le besoin.

Le développement d’extensions

Fichiers d’une extension

Pour développer des extensions, l’architecture document doit être constituée d’un ensemble de fichiers qui sont indispensables. A ces fichiers s’ajoutent des fichiers supplémentaires, qui permettent de pousser plus loin les capacités de développement mais aussi de bien les organiser.

Fichier extension

Fichiers indispensables

  • Le fichier. Wbl : c’est un point d’entrée de l’extension, il contient la liste des fichiers indispensables
  • Le fichier. Qext : c’est le fichier de configuration principal de l’extension, il contient la version, le nom, l’icône, etc.
  • Le fichier .js : c’est le fichier le plus important, c’est là que l’on interroge le serveur Qlik, que l’on fait les calculs nécessaires ainsi que le design de l’extension.

Fichiers supplémentaires

  • Properties.js : Parmi les bonnes pratiques, les propriétés de l’extension seront séparées du fichier principal.
  • Fichiers .ccs : Des fichiers de style peuvent être ajoutés à l’extension afin d’améliorer le rendu et avoir une meilleure qualité de visualisation.
  • Bibliothèque JS : Des bibliothèques JS peuvent être ajoutées aussi pour avoir plus de fonctionnalités JavaScript (Jquery, D3JS, Highcharts).

Accès et structuration des données

La structuration et l’accès aux données retournées depuis le serveur seront contenus dans la méthode Paint ($element, layout). Cette dernière est rafraîchie à chaque fois que les propriétés changent ou que le widget est redimensionné.

Le serveur Qlik Sense retourne des données sous format d’un hypercube JSON. L’accès à cet hypercube se fera par la fonctionnalité layout.qHypercube.

L’hypercube est un objet JavaScript générique, qui va contenir les données ainsi que des métas données sur ce que l’utilisateur de l’extension mettra comme mesure et dimension depuis l’interface Hub.

Structuration des données

Exemples d’extensions développées par ASI

  • Une première extension prend une mesure et une dimension puis classe les membres de cette dernière en fonction de la mesure. Elle retourne ensuite le TOP3 de la dimension choisie :

Extension 1

  • Une deuxième extension s’appuie sur la bibliothèque Highcharts pour construire un radar, avec la possibilité de mettre plusieurs dimensions et de choisir la couleur de la dimension ainsi que la taille du diagramme.

Extension2 QlikSense

Vous avez besoin de communiquer sur vos données, construire un datawall ? N’hésitez pas à nous contacter pour bénéficier de l’expérience et de l’expertise de nos équipes pluridisciplinaires Java, UX et Data Intelligence >> asicom@asi.fr / 0806 700 800 (service gratuit + prix appel)

 

Qlik Sense Open Data Challenge France : la recette du succès !

Le 11 mai 2016 avait lieu la présentation des applications sélectionnées par Qlik pour la finale France du Qlik Open Data Challenge.  Devant un jury averti, nous avons présenté l’application baptisée Qlik GeoChallenge, développée par les 4 collaborateurs qui avaient souhaité relever le challenge : Elodie LECOQ, Moustapha MBENGUE, Nicolas GEORGEAULT et Brice DAVOLEAU.

Coupe ASI numero1 qlik open data challengeLe Jury a mis en avant l’originalité de l’approche, le rendu global sans oublier le concept ludique et dynamique de l’application réalisée par ASI pour nous décerner le 1er prix de ce concours.

Alors, quelle est la recette de ce succès ?

Le choix du thème a été une étape importante dans le travail réalisé : un brainstorming intense pour dégager un sujet intéressant, ludique et suffisamment étoffé nous a conduit à explorer les pays du monde au travers de 4 axes principaux que sont la démographie, l’économie, l’éducation et l’environnement.

Nous avons adopté une organisation projet agile pour arriver rapidement à un résultat. Storyboard, maquettage et revue de fonctionnalités ont été des ingrédients nécessaires à la production d’une application dans laquelle l’utilisateur est au centre de l’analyse. C’est en se projetant dans les cas d’usages concrets que nous avons élaboré les tableaux de bords qui permettent à n’importe qui d’évoluer sans difficultés dans les données.

Notre dernier atout est sans aucun doute la compétence de l’équipe sur les sujets BI au sens large. Restituer un indicateur, oui, mais pas à n’importe quel prix ! Notre expérience sur les projets décisionnels nous permet de choisir la bonne visualisation pour faire immédiatement ressortir les tendances et faciliter la compréhension de l’utilisateur.

Découvrez Qlik GeoChallenge en images :

Le bilan

Finalement nous n’avons rien inventé et simplement repris ce qui fonctionne chez nos clients : une méthodologie simple et progressive qui permet d’arriver à un résultat abouti et réellement utile.

Quels enseignements tirer de cette expérience ?

L’Open Data offre aujourd’hui une richesse d’informations impressionnante : administrations, entreprises et initiatives citoyennes contribuent à une production toujours plus étoffée et variée de données. Finalement la clé de la captation de ces informations pour leur exploitation consiste à les identifier et réaliser un travail de qualité de données nécessaire à la mise en relation des jeux de données. Quelle surprise de voir des publications d’indicateurs au niveau pays sans code ISO pour les rapprocher !

Une fois l’étape de construction du socle de données achevée, Qlik Sense tient ses promesses d’analyse intuitive et de visualisation. On apporte rapidement et facilement de la valeur à l’utilisateur qui souhaite explorer ces données et faire des découvertes inattendues. La construction de l’application est aussi facilitée. Savez-vous que Nicolas, qui a participé à la réalisation de l’application, est Consultant Intelligence Collective ? Pas expert de la donnée, mais utilisateur curieux et qui souhaite créer ses propres visualisations, un cas typique d’utilisation de la BI Self Service !

ASI participe au Qlik Open Data Challenge

Une équipe d’ASIens participe au Qlik Open Data Challenge !

L’objectif : Créer une application QlikSense à partir de données publiques afin de révéler des tendances, des résultats inattendus, des axes de réflexion qui permettraient d’apporter des solutions.

5 applications seront retenues puis soumises au vote du public à compter du 1er avril 2016… Affaire à suivre !

L’annonce des gagnants est prévue le 19 avril 2016.qlikdatachallenge

Sortie de Qlik Sense 1.1

Quelques nouvelles fraîches de l’éditeur Qlik avec la version 1.1 de Qlik Sense sortie le 23 février  2015… avec des sorties de releases prévues 3 fois par an, que faut-il attendre de cette nouvelle version ?

Des nouveautés

Parmi les nouveautés de cette plateforme, voilà celles qui retiennent l’attention… à tester d’urgence dans Qlik Sense Desktop, toujours gratuit et sans limitations.

Tableau croisé dynamique

Évidemment avec un outil de BI Self Service, plutôt orienté visualisation, c’est le genre de « graphique » que l’on essaye de mettre de côté, mais les vieilles habitudes ont la vie dure et le tableau croisé dynamique fait son apparition chez Qlik Sense. De façon très classique on peut faire des plier/déplier, des sous-totaux, mettre les dimensions en colonnes, filtrer les données, bref tout le nécessaire !

Filtre TCD Qlik Sense

Filtre TCD Qlik Sense

Objet KPI

Ce nouvel objet, tout simple, est bien pratique : il vous permet de réaliser l’affichage d’un ou deux indicateurs sous forme de texte : idéal pour une présentation tableau de bord sans perdre de temps à ajouter des zones de texte ! En plus Qlik a ajouté le color coding et les indicateurs visuels. Rapide et efficace.

Indicateurs Dashboard

Indicateurs KPI

Des améliorations

Création des cartes

Pas facile dans la version 1.0 de QlikSense de créer des cartes. Même avec un bon tutoriel ASI le champ URL n’était pas évident à prendre en main pour tous. Qlik facilite tout cela grâce à un simple bouton radio pour réaliser un affichage par défaut.

Fond de carte simple

Fond de carte simple

Ouvrir une application sans données

Pour ceux d’entre vous qui ont des grosses volumétries, cette option déjà présente dans QlikView permet de vider l’application avant son ouverture. Pratique pour se connecter à une source de développement de volumétrie moindre sans avoir à supporter celle de production sur son poste de développement.

Et bien d’autres …

D’autres améliorations dans cette version : dans l’interface, côté administration ou workbench. Pour avoir la liste complète vous pouvez vous référer au document Qlik Sense Release Notes 1.1

En conclusion

On apprécie ce rythme plus rapide entre les releases du produit. Cette version 1.1 rend la plateforme encore plus facile à utiliser et c’est bien ce que l’on demande à un outil de BI Self Service : efficace, beau et simple !

 

 

Création d’une analyse géographique dans Qlik Sense

La visualisation de données géographiques est difficilement réalisable sur un graphique standard de type treemap, histogramme ou camembert : la représentation est possible, mais n’apporte jamais l’ensemble des informations. Jugez-en par vous-mêmes dans l’exemple ci-dessous : en 2013, quelles sont les zones les plus peuplées de France ? Il est facile de déterminer les valeurs exactes, mais beaucoup plus difficile de trouver une tendance !

Treemap ou histogramme

Treemap ou histogramme dans Qlik Sense

L’idéal dans cette situation est d’avoir à disposition une représentation de type carte, que je vous propose de construire pas à pas avec Qlik Sense.

Matériel

Téléchargez Qlik Sense

Si vous n’avez pas encore téléchargé Qlik Sense Desktop, vous pouvez le faire de façon gratuite et sans limite en terme de fonctionnalités ou temps sur le site de l’éditeur : www.qlik.com puis n’hésitez pas à consulter notre série d’articles pour faire vos premiers pas avec l’outil.

Données

Vous pouvez utiliser votre propre jeu de données, l’objectif est d’avoir dans les informations disponibles :

  • Code commune INSEE
  • Code département
  • Latitude et longitude du centroïde de la commune et/ou du département
  • Un indicateur à présenter comme le CA, le nombre de ventes…

Pour ma part, je vais utiliser le fichier RGC (Répertoire Géographique des Communes) mis à disposition par l’IGN sur le portail data.gouv.fr, qui contient des informations géographiques et de population de chaque commune française. La description du fichier est aussi associée, nous en aurons besoin pour charger correctement les données.

Chargement des données

Fonction GeoMakePoint de Qlik Sense

La fonction GeoMakePoint(latitude,longitude) de Qlik Sense permet de créer un élément qui sera ensuite utilisable par un graphique de type carte à partir de la latitude et de la longitude exprimées en décimales. La difficulté, si vous utilisez le fichier de l’IGN, est que ce dernier présente des données en degrés, minutes et secondes, avec des + ou – et sur un champ de longueur variable, bref pas très pratique ! La formule à appliquer est donc :

if(LEN(LONGI_DMS)=5,
LEFT(LONGI_DMS,1) + RIGHT(LEFT(LONGI_DMS,4),2)/60 + RIGHT(LONGI_DMS,2)/3600,
if(LEFT(LONGI_DMS,1) = ‘-‘,
LEFT(LONGI_DMS,2) – RIGHT(LEFT(LONGI_DMS,4),2)/60 – RIGHT(LONGI_DMS,2)/3600,
LEFT(LONGI_DMS,2) + RIGHT(LEFT(LONGI_DMS,4),2)/60 + RIGHT(LONGI_DMS,2)/3600)
) as X

Chargement

En dehors de ce point de détail, le chargement des données est très classique :

  • Glissez-déposez le fichier dans une nouvelle application
Glisser-déposer QlikSense

Glisser-déposer Qlik Sense

 

  • Laissez-vous guider par l’assistant pour sélectionner les colonnes nécessaires
Selection colonnes Qlik Sense

Selection colonnes Qlik Sense

  •  Éditez le script pour ajouter par exemple un preceding load
Preceding load

Preceding load

Création de la carte

Une fois les informations correctement chargées, la création de la carte se fait de façon très simple : glissez-déposez un objet de type carte dans une feuille, ajouter la dimension XY créée à l’étape précédente et définissez par exemple l’indicateur sum(POPU).

Vous pouvez ajouter un fond de carte dans l’arrière plan en utilisant l’url http://tile.openstreetmap.org/${z}/${x}/${y}.png

En jouant sur les différentes options, vous devriez pouvoir arriver à une représentation proche de celle ci-dessous.

Carto Qlik SenseConclusion

Avec Qlik Sense, il est maintenant très facile de projeter des données sur une carte.

Vous pourrez aller encore plus loin en utilisant un fichier KML pour définir les contours géographiques (ou autres !) de vos données de façon à réaliser de la coloration surfacique comme dans le représentation ci-dessous. (Aviez-vous remarqué que le département du Nord était le plus peuplé ?!)

Coloration surfacique Qlik Sense

Bien évidemment nous attendons la nouvelle mouture de GeoQlik qui sera présentée dans quelques jours au Qlik World Conference. Comme dans les précédentes versions, il devrait être possible d’avoir une analyse encore plus fine des données avec par exemple des drill-down (Departement > Commune) ou d’autres visualisations !

 

 

Sortie de Qlik Sense – BI self service

Dernier article de cette série consacrée au nouveau produit de la société QlikTech, Qlik Sense, je vous propose aujourd’hui de découvrir les possibilités offertes à l’utilisateur pour créer ses propres analyses.

Préparation de l’environnement

Rendez-vous dans le hub afin d’ouvrir une application existante. Une fois ouverte, vous pouvez cliquer sur l’icone Create new sheet pour ajouter un nouvel onglet. Cet onglet nommé, vous devez l’ouvrir pour pouvoir le modifier en cliquant sur l’icone Edit (en orange dans l’impression d’écran ci-dessous).

Editer Analyse QlikSense

Interface d’édition Qlik Sense

L’ajout d’éléments dans un onglet se fait de façon très intuitive en glissant-déposant un modèle depuis le panneau de gauche vers le centre. Il existe 3 parties dans ce panneau :

  • Charts : permet l’ajout d’éléments graphiques,
  • Fields : permet dans un élément graphique d’ajouter une dimension ou un indicateur,
  • Master items : permet la réutilisation d’éléments.

Ajout de textes et images

Commençons par ajouter un logo en nous rendant dans le panneau de gauche sur l’objet Text and image. Un glissé-déposé dans la zone de travail permet d’ajouter l’élément. Les poignées oranges permettent de le redimensionner et positionner facilement. Sur la droite un panneau de configuration est visible, il va nous permettre par exemple dans la section Apparence de faire référence à une image stockée dans la bibliothèque.

Qlik Sense Logo

Ajout des listes de sélection

Comme vous le savez, les listes de sélection sont l’une des possibilités offertes à l’utilisateur pour naviguer dans l’information. Pour les ajouter dans un onglet, il faut se rendre dans le panneau de gauche Field et glisser-déposer un élément dans la zone de travail. Ensuite vous avez le choix entre créer une liste multiple en ajoutant dans le panneau de droite d’autres dimensions ou conserver une liste simple.

Qlik Sense Listes de sélection

Ajout de listes de sélection

Ajout de graphiques

La création d’un graphique débute avec l’ajout d’un modèle dans la zone de travail. Ensuite il suffit de glisser un premier champ comme dimension, puis un second auquel il faudra associer une fonction d’agrégation pour créer une première restitution. L’élément sera ensuite paramétrable dans le panneau de droite pour choisir les couleurs, définir un titre, limiter le nombre de valeurs affichées, etc.

Qlik Sense Graphique

Créer un graphique dans Qlik Sense

Réutilisation des éléments

Qlik Sense propose une fonctionnalité très intéressante de centralisation des définitions d’objets : la bibliothèque permet de stocker des dimensions, des indicateurs complexes ou même des objets graphiques de façon à les réutiliser dans les différents onglets d’une application. Ainsi l’utilisateur métier peut manipuler des expressions complexes sans avoir à maîtriser la syntaxe du Set Analysis et donc sans risque de se tromper.

Qlik Sense Master Items

Bibliothèque objets Qlik Sense

 

Bilan

Comme pour l’expérience de navigation dans les données, l’interface de modification des applications est simple, épurée et mutli-support : on est vite tenté de toucher son écran pour modifier les éléments ! Il manque encore quelques fonctionnalités (ex: tableau croisé), mais cette première version desktop (gratuite et sans limitation) est très facile à prendre en main et très clairement destinée à un public non technique. Nous attendons maintenant la version serveur et son lot de nouveautés !

Sortie de Qlik Sense – charger des données

Après les deux premiers articles consacrés à la découverte de Qlik Sense et à l’expérience utilisateur, je vous propose aujourd’hui de découvrir comment charger des données dans Qlik Sense.

Charger un fichier Excel dans Qlik Sense : facile !

La première étape consiste à vous connecter au hub puis créer une nouvelle application. Une fois cette nouvelle application créée, vous allez simplement faire un glisser-déposer du fichier dans l’interface afin de lancer l’assistant qui va vous guider dans la création de l’ordre de chargement.

Qlik Sense Excel

Glisser-déposer le fichier

Vous pouvez alors sélectionner l’onglet ainsi que les colonnes que vous souhaitez charger dans l’outil. Une fois cette opération réalisée, il ne vous reste plus qu’à cliquer sur Load data de façon à générer l’ordre de chargement correct et lancer son exécution.

Selection données Qlik Sense Excel

Sélection des données Excel

L’application rechargée, vous pouvez alors modifier son aspect visuel ou retourner dans la partie acquisition des données en cliquant sur l’icone de boussole puis Data load editor.

DataLoad Editor

DataLoad Editor

Charger des informations depuis une base de données dans Qlik Sense

Une fois dans l’éditeur de chargement de données, vous visualisez sur le côté droit les différentes connexions existantes (fichiers, BDD…). Vous devez cliquer sur Create new connection pour sélectionner ODBC ou OLEDB afin de se connecter à la base et pouvoir sélectionner les différentes tables et/ou colonnes souhaitées en cliquant sur l’icône cerclée de rouge ci-dessous. Finalement, vous devez cliquer sur Insert script pour ajouter l’ordre de chargement. A noter que dans Qlik Sense, les jointures entre les données se font sur l’homonymie des colonnes. Vous devez donc renommer au besoin les informations en double cliquant sur les entêtes dans les assistants ou en utilisant le mot clé AS dans le script.

Select

Sélectionner les tables

Chargement BDD

Chargement BDD

Bilan

Qlik Sense permet de se connecter et mixer différentes sources de données, on retrouve un fonctionnement très similaire à ce qui peut exister dans le produit QlikView avec cette partie scripting.

Rendez-vous la semaine prochaine pour le dernier article de cette série qui sera consacré à la BI Self Service.