Qlik Sense & Datawarehouse, la configuration idéale!

%Qlik Sense Reporting Tool & Alternative to NPrinting%Qalyptus

Le Datawarehouse est souvent considéré comme une technologie complexe et coûteuse uniquement à la portée des grandes entreprises et qui nécessite des connaissances techniques de haut niveau. Ce n’est pas tout à fait vrai 😉.

Cette image vient du fait que les années précédentes, seules les entreprises disposant des moyens financiers et d’une taille critique pouvaient justifier la mise en place d’un Datawarehouse car la mise en place était coûteuse et longue.

Mais aujourd’hui, tout cela n’est plus vrai. Avec l’arrivée du Cloud et des bases de données open source très puissantes et des ETL conçus pour les utilisateurs professionnels, toute entreprise peut mettre en place un Datawarehouse qui répond à ses besoins.

Dans cet article, je vais essayer de vous convaincre de ne plus transformer vos données dans Qlik Sense ou QlikView mais de le faire en amont.

Je tiens à souligner que cet article est valable pour les entreprises qui ont un Datawarehouse et celles qui n’en ont pas. Et oui, souvent les entreprises qui disposent d’un Datawarehouse ne l’utilisent pas efficacement dans tous les développements d’applications Qlik Sense🙃.

Qu’est-ce qu’un Datawarehouse

La bonne nouvelle est qu’un Datawarehouse est simplement une base de données 😁 que vous pouvez créer avec le SGBD (système de gestion de base de données) de votre choix. Son rôle est de centraliser toutes les données de l’entreprise à des fins de stockage et d’archivage pour garantir la qualité et la cohérence des données ainsi qu’un accès facile et gouverné.

Vous en dites quoi ? C’est intéressant, n’est-ce pas !

Le Datawarehouse (DWH) est en grande partie alimenté par des bases de données transactionnelles qui stockent des données du système opérationnel de l’entreprise. Et utilisé comme source de données par des outils de visualisation de données tels que Qlik Sense, QlikView et autres.

%Qlik Sense Reporting Tool & Alternative to NPrinting%Qalyptus

Nous verrons un peu plus loin comment procéder pour créer un Datawarehouse.

  – Caractéristiques du Datawarehouse

Un Datawarehouse se distingue des autres types de bases de données par les éléments suivants:

  • Utilisation principale : Reporting et analyse
  • Format des données : structuré
  • Modélisation : étoile ou flocon. Si vous avez déjà développé des applications QlikView ou Qlik Sense, alors vous avez déjà modélisé vos données sous forme d’étoile ou de flocon 😀.
  • Gouvernance des données : Gouvernance a posteriori car elle utilise des données opérationnelles existantes
  • Qualité des données: haute qualité car il y a une étape de transformation et de nettoyage des données dans le processus de chargement du Datawarehouse
  • Intégration avec les applications métiers : Mono-directionnelle en mode batch. Les données transformées et nettoyées sont actualisées à différentes fréquences (horaire, quotidienne, hebdomadaire ou mensuelle)
  • Interactions avec les utilisateurs métier : les utilisateurs métier ont un accès en lecture seule à l’aide d’outils d’analyse ou de création de rapports
  • Il est principalement utilisé pour les processus d’analyse

– Data Marts

Les Data Marts ne sont pas aussi connus que le Datawarehouse, mais ils sont également utiles. On peut considérer qu’un Data Mart est un sous-ensemble du Datawarehouse dont les données proviennent du Datawarehouse et sont agrégées et regroupées fonctionnellement pour un métier ou une équipe donnée. Ce Data Mart contiendra toutes les informations relatives au métier de manière agrégée selon différentes dimensions. Contrairement au Datawarehouse, qui présente les détails des données pour l’ensemble de l’entreprise.

Pourquoi créer des Data Marts?

  • Accès facile aux données fréquemment nécessaires
  • Créer une vue collective par un groupe d’utilisateurs
  • Améliore le temps de réponse de l’utilisateur final
  • Facilité de création
  • Les utilisateurs potentiels sont plus clairement définis que dans un Datawarehouse complet
  • Ne contient que des données métier essentielles et est moins encombré

Ne tombez pas dans le piège!

Maintenant que nous avons vu ce qu’est un Datawarehouse, nous allons maintenant examiner son utilisation (ou non) lors de la création d’une analyse avec Qlik Sense.

Les entreprises qui utilisent Qlik Sense sans passer par un Datawarehouse ne sont pas seulement les entreprises qui ne disposent pas d’un Datawarehouse.

Souvent, Qlik Sense est acheté par un service métier de l’entreprise et non par le service informatique. Et compte tenu de la facilité d’utilisation de Qlik Sense, les utilisateurs peuvent créer eux-mêmes des applications sans passer par le service informatique en utilisant des sources de données diverses et variées: base de données, fichiers Excel, saisie manuelle, etc. En termes absolus, c’est bien, car cela réduit les le temps d’accéder à l’information.

Cependant, cela pose deux gros problèmes pour l’entreprise, celui de la qualité des données et de la gouvernance des données.
Aller vite, c’est bien, mais pas au détriment de la qualité et de la gouvernance. Il n’y a rien de pire que d’être dans une situation où le nombre de clients pour le service marketing est de 1000 et pour le service commercial est de 1020 😧.

Non seulement vous pouvez baser vos décisions sur des données potentiellement incorrectes, mais également créer un sentiment de doute quant à la véracité des données.

Si vous le pouvez, évitez d’effectuer vos transformations de données et vos calculs dans Qlik Sense. En fonction de votre situation, je recommande ce qui suit :

  • Vous n’avez pas de Datawarehouse : si votre entreprise n’est pas un service de freelance et que vous envisagez de vous développer, je vous recommande de créer un Datawarehouse qui se développera au fur et à mesure de la croissance de votre entreprise
  • Vous disposez d’un Datawarehouse mais certaines données ne sont pas disponibles : Dans ce cas, les informations manquantes doivent être ajoutées au Datawarehouse
  • Vous disposez d’un Datawarehouse mais les données ne sont pas agrégées comme vous le souhaitez : Dans ce cas, favorisez la création d’un ou plusieurs Data Marts qui contiendront toutes les informations que vous souhaitez avec le niveau d’agrégation souhaité
    Avant de créer un magasin de données, vous pouvez commencer par utiliser le script Qlik Sense et le Set Analysis pour créer une première version de votre application. Une fois les données validées, vous pouvez utiliser les règles de calcul pour créer un Data Mart, puis utiliser ce Data Mart comme source de données.

Ci-dessous, nous verrons l’avantage de le faire de cette façon.

L’avantage d’utiliser un Datawarehouse avec Qlik Sense

Utiliser le Datawarehouse exclusivement comme source de données semble très contraignant et peu agile. Cela peut également être considéré comme une perte de temps. Je ne suis pas tout à fait d’accord !

Cela peut être vu comme une perte de temps à court terme, mais à long terme, c’est un énorme gain de temps et d’énergie. Une entreprise doit avoir une vision à long terme.

Je vais illustrer l’avantage d’utiliser un Datawarehouse dans Qlik Sense avec un exemple :

Vous souhaitez calculer le nombre de clients actifs sur votre plateforme produit.

Méthode 1
Vous utilisez la table Customer et la table Event pour calculer le nombre de clients ayant effectué un certain nombre d’actions au cours d’une période donnée.

Vous chargez les données de ces deux tables dans Qlik Sense et vous calculez le nombre de clients actifs à l’aide du Set Analysis.
Exemple : =Count ({ distinct<event_type = {‘xxxx’}, event_date= {>=’dddd’} >} id_customer)

Avantage de cette méthode:
L’indicateur du nombre de clients est calculé très rapidement et facilement.

Inconvénient de cette méthode:
La règle de calcul est implémentée dans Qlik Sense et cela peut entraîner un certain nombre de problèmes :

  • Règle de calcul opaque : les autres utilisateurs peuvent utiliser une autre règle pour calculer un indicateur avec le même nom
  • Documentation difficile : généralement, les règles de calcul ne sont pas documentées dans Qlik Sense, ce qui rend l’interprétation des chiffres confuse. Chacun peut avoir sa propre définition
  • Maintenance difficile : si dans le futur la définition des clients actifs change dans l’entreprise, il faudra changer dans toutes les applications et dans tous les outils où l’indicateur est calculé. Misère !
  • Si votre entreprise décide, pour une raison ou une autre, de changer Qlik Sense par un autre outil, tout votre travail doit être refait. Je ne veux pas être à votre place !

Méthode 2

Vous décidez de calculer l’indicateur nombre de clients actifs dans votre Datawarehouse.
Dans ce cas, vous utilisez, comme dans la méthode 1, les deux tables Customer et Event pour ajouter à la table Customer (ou une autre table liée) le champ booléen is_active (1/0).

Et dans votre application Qlik Sense, vous créez une expression telle que : = Sum (is_active)

Avantage de cette méthode:

  • L’indicateur est créé en un seul endroit, ce qui garantit que tout le monde utilise la même règle de calcul
  • Nous ne pouvons pas optimiser davantage ! Le calcul est effectué au niveau du Datawarehouse, cela optimise le temps de rafraîchissement de l’application Qlik Sense et offre une meilleure expérience à l’utilisateur
  • Une documentation facile à produite : Généralement, lors de la création d’un Datawarehouse, tous les champs sont documentés (Type, définition, historique des modifications, etc.). En utilisant des outils spécialisés ou en créant une application Qlik Sense, vous pouvez accéder très facilement à la définition de l’indicateur.
  • Maintenance aisée : l’indicateur étant créé à un seul endroit, sa modification sera automatiquement répliquée dans les outils où il est utilisé. C’est mieux, non!

Inconvénient de cette méthode:
L’inconvénient de cette méthode est qu’elle peut sembler longue et fastidieuse et qu’elle nécessite dans certains cas des compétences que le développeur Qlik Sense n’a pas.

En termes de lenteur, comme je l’ai déjà dit, à long terme cet inconvénient se transformera en avantage. La création de nouvelles applications et la maintenance des applications existantes seront plus rapides.

Quant aux compétences nécessaires pour créer et gérer un Datawarehouse, je vous le disais en introduction, nous ne sommes plus dans les années 90 😁. Je vais vous montrer que ce n’est pas si compliqué.

Créez un Datawarehouse lorsque vous êtes une petite ou moyenne entreprise

Lorsque vous travaillez dans une grande entreprise avec beaucoup de données, la mise en place d’un Datawarehouse est une évidence. Les grandes entreprises sont en mesure de mettre les moyens financiers et humains nécessaires à sa création.

Mais si vous travaillez dans une petite ou moyenne entreprise avec des moyens financiers limités, la question de la création d’un Datawarehouse se pose. Car encore une fois, le Datawarehouse est associé à la complexité et au coût élevé.

Je vais maintenant vous montrer concrètement comment vous pouvez créer un Datawarehouse avec vos connaissances en tant que développeur BI et avec un budget limité.

Pour ce faire, je vais vous donner un exemple d’outil ou de service que vous pouvez utiliser à chaque étape de la création. Notez que ces outils et services, ne vont pas forcément convenir pour les entreprises de grand taille.

1- Modéliser l’entrepôt de données
La première étape consiste à modéliser la base de données finale (Datawarehouse). Définissez le périmètre en déterminant les besoins des utilisateurs et les niveaux d’agrégation. Identifiez les sources de données à utiliser.

2 – Choisissez un SGBD
Je vous suggère d’utiliser PostgreSQL. Un outil gratuit et super puissant. Vous pouvez l’installer sur les serveurs de votre entreprise ou s’abonner à un service d’hébergement qui vous déchargera de toute la gestion d’infrastructure et de la sécurité. Pour commencer, vous pouvez par exemple choisir DigitalOcean. Une base de données 100% gérée avec 10 Go de stockage pour seulement 15 $ par mois.

3- Créer la structure
Créez les différentes tables et les différents champs qui constitueront votre Datawarehouse. Les différentes tables doivent être liées entre elles en suivant un schéma en étoile ou en flocon. En savoir plus sur le schéma Étoile et Flocon. Vous devez avoir un minimum de connaissances en SQL.

4- Charger la base de données
Maintenant que vous avez créé votre base de données, il est temps de l’alimenter à partir des différentes sources. Pour cela, vous utiliserez un outil ETL (Extrat Transform Load). Avec l’ETL, vous allez extraire les données des différentes sources, puis les nettoyer et les transformer si nécessaire et calculer les différents indicateurs, et charger le résultat dans le Datawarehouse.

Il existe plusieurs produits ETL, certains sont complexes, utiles pour les grandes entreprises à l’architecture complexe. Pour une petite ou moyenne entreprise, je recommande d’utiliser un ETL facile à apprendre conçu spécifiquement pour les utilisateurs métier. J’ai choisi EasyMorph, il est facile à utiliser et les prix sont très raisonnables. Il existe également une version gratuite.

Pour aller plus loin dans la modélisation de la Business Intelligence avec PostgreSQL, téléchargez le guide Data warehousing with PostgreSQL.

%Qlik Sense Reporting Tool & Alternative to NPrinting%Qalyptus

Abonnez-vous 👇 pour être informé de la publication des prochaines articles.

Pensez à partager cet article !