Rédaction de requêtes SQL
Dashboard Studio utilise SQL pour récupérer des données à partir des schémas IoT Query. Vous écrivez du SQL dans deux contextes : les éditeurs de panneau, où les instructions alimentent les visualisations, et l'Éditeur SQL autonome pour l'exploration des données. Cette page explique comment écrire un SQL efficace pour les deux contextes, en mettant l'accent sur les exigences de visualisation puisqu'elles ont des contraintes structurelles spécifiques.
Où le SQL est utilisé
Dashboard Studio propose deux environnements SQL pour des usages différents. Comprendre quand utiliser chacun vous aide à travailler plus efficacement.
Requêtes de visualisation alimentent des panneaux individuels dans les rapports. Vous écrivez ces instructions dans l'onglet SQL Query de l'éditeur de panneau. Chaque panneau exécute une instruction qui doit renvoyer des données dans une structure spécifique correspondant au type de visualisation. Ces instructions s'exécutent lors du chargement ou du rafraîchissement des rapports, donc les performances influent sur l'expérience utilisateur. Le SQL de visualisation ne peut pas modifier les données ; toutes les instructions s'exécutent en lecture seule via des opérations SELECT sur les schémas IoT Query.
SQL Editor prise en charge de l'exploration et de l'exportation de données. Accédez à SQL Editor depuis la barre latérale gauche sous Tools. Écrivez n'importe quelle instruction SELECT pour examiner la structure des données, valider des hypothèses ou exporter les résultats au format CSV. SQL Editor affiche les tables de résultats complètes avec tri des colonnes et fournit des métriques d'exécution. Utilisez-le pour tester la logique avant d'ajouter du SQL aux panneaux de visualisation, ou pour des extractions de données ponctuelles qui n'ont pas besoin de visualisation.
Comment écrire du SQL pour les visualisations

Le SQL de visualisation doit renvoyer des nombres et types de colonnes spécifiques. Dashboard Studio ne peut pas rendre un diagramme à barres à partir de trois colonnes ni une tuile de statistiques à partir de données textuelles. Consultez la section Dataset Requirements dans l'onglet SQL Query pour voir exactement ce que votre visualisation choisie attend avant d'écrire l'instruction. Le tableau ci-dessous contient les types de visualisation pris en charge :
Deux colonnes : catégorie, valeur
SELECT column1, COUNT(*) FROM schema.table GROUP BY column1
Deux colonnes : étiquette, valeur
SELECT category, SUM(value) FROM schema.table GROUP BY category
Comment utiliser les variables globales
Les variables globales fournissent des valeurs réutilisables dans plusieurs instructions SQL. Définissez les variables dans Settings > Configuration > Global Variables, puis référencez-les en utilisant ${variable_name} syntaxe.

Définissez des variables pour des valeurs qui changent périodiquement mais restent cohérentes entre plusieurs panneaux : plages de dates d'analyse, filtres par type de véhicule ou valeurs seuils. Lorsque ces valeurs changent, mettez à jour la définition de la variable une fois au lieu de modifier chaque instruction SQL individuellement.
Les variables stockent des valeurs textuelles. Convertissez-les en types appropriés dans le SQL : '${variable_name}'::date pour les dates, '${variable_name}'::integer pour les nombres.
Pour des paramètres spécifiques à une instruction qui changent fréquemment, vous pouvez utiliser des blocs de paramètres CTE au début :
Ce modèle combine des variables globales (plages de dates) avec des paramètres spécifiques à l'instruction (seuils), en gardant toutes les valeurs ajustables en haut pour une maintenance facilitée.
Comment accéder aux schémas IoT Query
IoT Query organise les données en couches Bronze, Silver et Gold. Comprendre quelle couche utiliser fait gagner du temps et améliore la clarté du SQL. Pour les détails complets des schémas, consultez le IoT Query Schema Overview.
Couche Bronze contient les points de suivi bruts provenant des appareils : bronze.tracking_data_core stocke chaque position GPS avec horodatages, coordonnées et relevés de capteurs. Utilisez Bronze pour l'analyse au niveau du point ou lorsque vous avez besoin de valeurs de capteur brutes non traitées dans les couches supérieures.
Couche Silver fournit des entités traitées : silver.trips agrège les points de suivi en enregistrements de trajet avec heures de début/fin, distance et durée. silver.zone_visits enregistre les entrées et sorties des geofences par les appareils. silver.idle_events identifie les périodes où les véhicules restent immobiles avec le moteur en marche. Utilisez Silver pour la plupart des besoins de visualisation puisqu'elle fournit des structures prêtes pour l'analyse.
Couche Gold offre des métriques pré-agrégées et des modèles dimensionnels pour des analyses complexes. Utilisez Gold pour des statistiques à l'échelle de la flotte ou des analyses multidimensionnelles qui nécessiteraient des jointures complexes sur les tables Silver.
Référencez les tables en utilisant schema.table format : silver.trips, pas seulement trips. Incluez des filtres de plage de dates dans les clauses WHERE pour limiter les données analysées :
La plupart des instructions SQL filtrent par appareil, plage temporelle ou les deux. Ajoutez ces filtres tôt dans les clauses WHERE pour réduire le volume de données traité.
Comment utiliser SQL Editor
Accédez à SQL Editor depuis la barre latérale gauche sous Tools. Utilisez-le pour trois usages principaux : tester la logique avant d'ajouter aux panneaux, explorer les schémas de données pour comprendre les colonnes disponibles, et exporter des données qui n'ont pas besoin de visualisation.

SQL Editor prend en charge plusieurs onglets pour différentes instructions. Écrivez du SQL dans des onglets, exécutez avec le bouton "Execute Query" et visualisez les résultats dans le tableau ci-dessous. Les résultats affichent des métriques d'exécution (durée d'exécution, lignes retournées) et permettent le tri des colonnes pour un examen rapide des données.
Exportez les résultats au format CSV en utilisant le bouton "Export CSV". Cela fonctionne pour des rapports ad hoc ou des extractions de données pour analyse externe. SQL Editor n'a pas de limite de lignes de résultat, contrairement au SQL de visualisation qui doit renvoyer des jeux de données ciblés.
Testez le SQL de visualisation dans SQL Editor avant de l'ajouter aux panneaux. Écrivez l'instruction, vérifiez qu'elle renvoie les colonnes et types attendus, puis copiez-la dans l'onglet SQL Query de l'éditeur de panneau. Ce flux de travail permet de détecter les problèmes structurels avant de configurer les paramètres de visualisation.
Schéma d'exploration pour de nouvelles données :
Schémas SQL courants
La plupart des SQL de visualisation suivent des schémas similaires. Copiez ces structures et ajustez filtres, colonnes et agrégations selon vos besoins spécifiques.
Que faire lorsque le SQL échoue
Les échecs d'exécution se répartissent en trois catégories : incompatibilités structurelles avec les exigences de visualisation, erreurs de syntaxe SQL ou filtres qui ne renvoient aucune donnée.
Incompatibilités de structure de colonnes
Se produisent lorsque les résultats ne correspondent pas aux attentes de la visualisation. Si vous avez choisi un diagramme à barres mais que votre SQL renvoie trois colonnes, Dashboard Studio ne peut pas le rendre. Vérifiez Dataset Requirements dans l'onglet SQL Query. Le diagramme à barres nécessite exactement deux colonnes (catégorie, valeur), ajustez donc votre clause SELECT :
Erreurs de syntaxe SQL
Affichent des messages d'erreur spécifiques. Les problèmes courants incluent des préfixes de schéma manquants (trips au lieu de silver.trips), des fautes de frappe dans les noms de colonne ou un mauvais cast de date. Testez les instructions dans SQL Editor pour voir des messages d'erreur détaillés avec numéros de ligne.
Résultats vides
Malgré une exécution réussie, cela indique que les filtres excluent toutes les données. Testez le SQL sans clauses WHERE dans SQL Editor pour vérifier que la table contient des données, puis ajoutez les filtres progressivement pour identifier quelle condition exclut les résultats attendus.
Problèmes de performance
Si les instructions s'exécutent lentement ou expirent, ajoutez des filtres de plage de dates aux clauses WHERE. Les opérations qui scannent des tables entières traitent inutilement des millions de lignes :
Pour des conseils de performance supplémentaires, voir Comment accéder aux schémas IoT Query pour les meilleures pratiques sur le filtrage et la sélection de schéma.
Où trouver des exemples SQL
Le SQL Recipe Book fournit des exemples complets pour des analyses télématiques courantes. Ces recettes démontrent des schémas pour l'analyse des trajets, les calculs de visites de zones, la détection d'inactivité et les métriques de flotte. Chaque recette inclut l'instruction SQL complète, une explication de la logique et des résultats d'exemple.
Adaptez les exemples du Recipe Book pour les visualisations en ajustant la clause SELECT pour correspondre aux exigences de visualisation. Une recette qui renvoie des enregistrements de trajets détaillés peut devenir un diagramme à barres en ajoutant GROUP BY et une agrégation COUNT. Une instruction calculant des métriques par véhicule peut devenir une tuile de statistiques en additionnant (SUM) sur tous les véhicules.
Vous avez juste besoin de :
Copier les exemples depuis Recipe Book vers l'éditeur de Dashboard Studio.
Testez avec vos données réelles.
Vérifiez les résultats, puis modifiez la clause SELECT pour votre visualisation cible.
La logique principale des clauses WHERE et JOIN reste la même ; n'ajustez que la structure de sortie.
Pour les détails des schémas, consultez le IoT Query Schema Overview. Cette référence explique les tables disponibles, les définitions de colonnes et les relations entre les couches Bronze, Silver et Gold.
Mis à jour
Ce contenu vous a-t-il été utile ?