Une pratique bien établie dans la conception et le développement de bases de données consiste à éviter de stocker des données qui peuvent être calculées ou reconstruites à partir d'autres champs. Par conséquent, il se peut que certaines données manquent lors de la création de vos graphiques dans Navicat BI. Mais ce n'est pas un problème, car Navicat BI fournit des champs calculés spécifiquement à cette fin. Dans le blog d'aujourd'hui, nous allons utiliser les champs calculés pour construire un graphique qui montre les temps de location moyens par client - c'est-à-dire la durée pendant laquelle un client garde un film avant de le rendre. Comme pour la plupart des articles de cette série, les données proviennent de la base de données gratuite « dvdrental ».
Récupération des informations de location du client
Comme indiqué dans les blogs précédents de cette série, nous devons créer la source de données avant de concevoir le graphique, car nous devrons spécifier la source de données utilisée par le graphique. Les sources de données font référence à des tables dans vos connexions ou à des données dans des fichiers/sources ODBC, et peuvent sélectionner des données à partir de tables sur différents types de serveurs. Après avoir créé une nouvelle source de données, nous pouvons cliquer sur « Nouvelle requête de source de données » pour ouvrir le concepteur de requêtes. Nous pouvons alors écrire notre instruction SQL directement dans l'éditeur, utiliser le générateur de requêtes visuel ou importer une requête à partir de Navicat. Voici l'instruction SELECT qui récupérera les informations sur le client, ainsi que le montant de la location, la date à laquelle le film a été loué et la date à laquelle il a été rendu :
Une fois la requête enregistrée et les données actualisées, nous devrions voir tous les champs de requête et l'ensemble de résultats :
Nous pouvons maintenant utiliser les champs rental_date et return_date pour calculer la durée de location. Pour ce faire, faites un clic droit sur return_date dans la liste des champs (Ctrl+clic sur macOS) et sélectionnez Nouveau champ calculé... dans le menu contextuel :
Dans la boîte de dialogue Nouveau champ calculé, vous trouverez toutes sortes de fonctions utiles, notamment des fonctions d'agrégation, des fonctions Datetime, des fonctions logiques, etc. Nous utiliserons la fonction DATEDIFF() pour calculer le nombre de jours entre les champs rental_date et return_date. La fonction accepte une unité de temps, ainsi qu'une date de début et de fin. Pour plus d'informations, voir la description sous la liste des fonctions. Nous utiliserons un « D » (jour) pour l'unité, ainsi que les deux champs de date, comme suit :
Un aperçu au bas de la boîte de dialogue nous indique que nous obtenons le résultat souhaité.
Après avoir cliqué sur le bouton OK, nous devrions voir notre nouveau champ dans la liste des champs et des résultats :
Création du graphique de durée moyenne de location par client
Étant donné que chaque identifiant de client constitue un point de données distinct, un diagramme de dispersion peut s'avérer utile. Un diagramme de dispersion représente des données avec des points de données individuels placés le long des axes X et Y. Nous utiliserons customer_id pour l'axe X et rental_duration (Moyenne) pour l'axe Y. Il suffit de faire glisser les champs sur les champs Axe des X et Axe des Y dans le concepteur de graphique, d'appliquer l'agrégat Moyenne à la durée_de_la_location, et voilà, le graphique est prêt !
Voici le graphique complet en mode Présentation :
Bonus : affichage du nombre de locations par client
Si les moyennes sont utiles, il peut également être utile d'indiquer combien de fois chaque client a loué un ou plusieurs films. Nous pouvons utiliser une fonction d'agrégation à cette fin. Nous allons compter le nombre d'entrées de quantité dans l'ensemble de résultats et les regrouper par customer_id. Voici la boîte de dialogue Nouveau champ calculé avec l'appel à la fonction AGGCOUNT() :
Dans le concepteur de graphiques, nous allons faire glisser notre nouveau champ number_of_rentals vers l'emplacement Couleur. L'ajout d'un tri croissant permet d'ordonner les éléments de la légende du plus petit au plus grand nombre de locations :
Nous pouvons afficher les détails d'un point de données individuel en passant le curseur dessus. Une info-bulle apparaîtra indiquant le nombre de locations, l'identifiant client, ainsi que la durée moyenne de location en jours :
Conclusion
Ce blog traite de l'utilisation des champs calculés dans les sources de données et les graphiques de Navicat BI. Il s'agit de l'une des nouvelles fonctionnalités incluses dans la dernière version de Business Intelligence (BI). Ceci nous amène également à la fin de cette série sur les champs personnalisés. Si vous souhaitez essayer Navicat BI, vous pouvez télécharger la version autonome pour un essai GRATUIT entièrement fonctionnel de 14 jours. Il est disponible pour les systèmes d'exploitation Windows, macOS et Linux.