DEV Community

Cover image for Déployer une solution de BI légère avec son premier dashboard en 5 étapes
Jean-Yves Pellé
Jean-Yves Pellé

Posted on • Originally published at pelle.link

1

Déployer une solution de BI légère avec son premier dashboard en 5 étapes

Cet article s'adresse à ceux qui connaissent le SQL et souhaitent mettre en place rapidement une solution de reporting minimaliste (sans passer par l'artillerie lourde comme PowerBI, Tableau, Looker Studio, et consorts).

Partons d'une base de données (de type Mysql, Mariadb ou Postgresql) comprenant une table monthly_sales contenant des montants mensuels de vente:

month sales_amount_eur
2024-01-01 8730
2024-02-01 9620
2024-03-01 4210
2024-04-01 6732
2024-05-01 9921
2024-06-01 8176
2024-07-01 7623

Notre but est de:

  • Générer un rapport reprenant ces informations dans un graphique.
  • Le rafraîchir tous les 1er du mois.

1 - Installation

Commençons par installer CTFreak.

Sous Ubuntu, ouvrez votre terminal et lancez:

sudo snap install ctfreak
Enter fullscreen mode Exit fullscreen mode

Pour les installations alternatives (Docker, Windows, Freebsd, ...), ça se passe ici.

2 - Connexion

Rendez vous sur http://localhost:6700 et connectez-vous via admin / ctfreak.

Login

3 - Ajout d'une base de données

Allez dans DatabasesNew Database, sélectionnez son type (par exemple Postgresql), puis renseignez ses paramètres de connexion:

Ajouter une base de données

Validez pour ajouter la base de données.

4 - Création d'un projet

Un projet va permettre de regrouper toutes nos tâches de reporting.

Allez dans ProjectsNew Project:

Création d'un projet

Validez pour créer le projet.

5 - Création d'une tâche SQL Report

Notre rapport sera généré via une tâche de type SQL Report associé à notre projet.

Pour ce faire, allez dans ProjectsReportingNew Task, sélectionnez SQL Report comme type de tâche puis renseignez les informations suivantes:

Création d'une tâche SQL Report

Dans la requête SQL, le suffixe _c_month permet d'indiquer que les valeurs de date doivent être formatées comme des mois dans le graphique.

Validez ce formulaire pour créer une tâche qui à partir d'une requête SQL générera un rapport des ventes mensuelles tous les 1er du mois à 9h, avec une rétention de 2 ans (730 jours) des rapports générés.

Exécutons cette tâche dès maintenant (via ProjectsReportingSales report -> Execute) pour obtenir le rapport attendu:

Exécution de la tâche

Conclusion

Comme vous pouvez le constater, ce rapport répond bien à notre besoin initial.

N'hésitez pas à exploiter les autres fonctionnalités de CTFreak pour y apporter quelques améliorations comme:

  • Ajouter d'autres graphiques.
  • Ajouter des paramètres de tâche pour définir la période des ventes à prendre en compte.
  • Ajouter un accès en lecture seule pour un utilisateur donné (via le rôle Viewer).
  • Envoyer à chaque génération du rapport un mail avec un lien pour l'ouvrir (via un Notifier).
  • Synchroniser la génération de plusieurs rapports (via les tâches de type Workflow).

Image of Docusign

Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay