# Création de rapports

Les rapports vous offrent un moyen structuré d'analyser les données IoT Query via trois vues coordonnées à partir d'une seule requête SQL : un tableau de données paginé, un graphique et une carte interactive. Utilisez des rapports lorsque vous avez besoin d'une sortie fixe et exportable plutôt que d'une surface de tableau de bord libre.

Les rapports SQL personnalisés s'adaptent instantanément à toute question métier en ajustant les requêtes et les paramètres :

* **Automatisation** gagne du temps en réutilisant les requêtes et en s'intégrant aux outils BI pour des mises à jour rapides.
* **Analyse approfondie** est possible en combinant, agrégant et segmentant des données provenant de multiples sources.
* **Précision et pertinence** sont assurées en travaillant directement avec des informations brutes et à jour de la base de données.
* **Visualisations interactives** permettent aux utilisateurs d'explorer les données de manière dynamique en ajustant les axes, les filtres et les métriques.

Regardez cette vidéo pour vous familiariser avec la création de rapports dans l'interface de l'application Dashboard Studio :

{% embed url="<https://youtu.be/o2j96_0gp-w?si=yBE9SrsET6gZa-EN>" %}
Création de rapports dans Dashboard Studio étape par étape
{% endembed %}

## Rapports vs. tableaux de bord

Les rapports et les tableaux de bord exécutent tous deux des requêtes SQL contre votre base IoT Query et rendent les résultats sous forme de visualisations. La différence clé réside dans la manière dont les requêtes et la sortie sont structurées :

|                   | Rapports                                                    | Tableaux de bord                           |
| ----------------- | ----------------------------------------------------------- | ------------------------------------------ |
| Requêtes SQL      | Une seule requête alimente toutes les vues                  | Chaque tuile possède sa propre requête     |
| Mise en page      | Fixe : tableau de données, graphique, carte de localisation | Zone de travail glisser-déposer            |
| Export            | HTML, Excel, PDF                                            | Schéma JSON uniquement                     |
| Cas d'utilisation | Analyse exportable sur un seul jeu de données               | Surveillance opérationnelle multi-panneaux |

Utilisez des rapports lorsque un seul jeu de données doit être exploré sous forme de tableau, visualisé sous forme de graphique et cartographié simultanément, ou lorsque la sortie doit être exportée et partagée en dehors de Dashboard Studio. Utilisez des tableaux de bord lorsque vous avez besoin de plusieurs visualisations indépendantes sur une seule surface, par exemple : combiner une tuile de résumé de trajet, un graphique de consommation de carburant et un tableau de visites de zones dans une même vue.

Pour des détails sur la création de tableaux de bord, voir [Création de tableaux de bord](https://www.navixy.com/docs/analytics/fr/studio-de-tableaux-de-bord/creation-de-tableaux-de-bord).

## Comment créer un rapport

{% stepper %}
{% step %}

### Étape 1 : Ouvrir l'éditeur de rapport

Dans la barre latérale gauche, cliquez sur **Outils**, puis sélectionnez **Nouveau rapport**.

Dashboard Studio vous invite à choisir une section dans votre structure de menu partagée. Sélectionnez une section existante ou choisissez Root pour placer le rapport au niveau supérieur.
{% endstep %}

{% step %}

### Étape 2 : Saisir les informations de base

L'éditeur s'ouvre avec deux champs en haut :

* **Titre** (obligatoire) : le nom affiché dans le menu et dans les en-têtes d'exportation.
* **Description** (optionnelle) : contexte supplémentaire visible dans l'éditeur.
  {% endstep %}

{% step %}

### Étape 3 : Rédiger la requête SQL

1. Cliquez sur l'onglet **SQL Query** et saisissez une instruction SELECT contre vos tables IoT Query. La requête définit les trois composants (table, graphique et carte), donc incluez chaque colonne que vous avez l'intention d'utiliser dans toutes les vues, par exemple :

{% code title="Exemple de requête de rapport de base" expandable="true" %}

```sql
SELECT
    t.device_id,
    o.object_label,
    -- Convert scaled integer coordinates to decimal degrees
    t.latitude::float / 10000000 AS latitude,
    t.longitude::float / 10000000 AS longitude,
    -- Convert scaled integer speed to km/h
    t.speed::float / 100 AS speed,
    t.device_time
FROM raw_telematics_data.tracking_data_core t
JOIN raw_business_data.objects o ON t.device_id = o.device_id
LIMIT 1000
```

{% endcode %}

{% hint style="info" icon="lightbulb-exclamation" %}

### Quelques conseils pour la construction de requêtes :

* Ajoutez une clause LIMIT lors de la configuration du rapport. Elle réduit le temps d'exécution de la requête et accélère l'aperçu des composants. Supprimez-la ou augmentez-la avant d'enregistrer si vous avez besoin que l'ensemble complet des données soit disponible en téléchargement.
* Après avoir rédigé la requête, vous pouvez cliquer sur **Detect Columns** pour vérifier quelles colonnes sont réellement récupérées par cette requête. Cela aide à configurer les sélecteurs de colonnes dans l'onglet **Components** . Cette étape est optionnelle. Vous pouvez configurer les composants manuellement, mais l'exécuter d'abord simplifie la sélection des axes et des champs.
* Toute requête SQL utilisée dans un panneau de tableau de bord est un point de départ valide pour un rapport. Copiez la requête depuis un panneau et ajustez-la pour qu'elle corresponde à l'objectif du rapport. Par exemple, ajoutez des colonnes nécessaires pour la carte de localisation, ou supprimez des agrégations qui ne s'appliquent pas à une vue en tableau.
* Le Recipe Book d'IoT Query contient des exemples de requêtes génériques et spécifiques à l'industrie prêts à être utilisés comme base pour des rapports. Voir [SQL Recipe Book](https://app.gitbook.com/s/oFNFEIINiGFbhi3Px3dE/example-queries) pour la liste complète.
  {% endhint %}
  {% endstep %}

{% step %}

### Étape 4 : Configurer les composants

Cliquez sur l'onglet **Components** onglet. Trois composants sont disponibles : **Table**, **Chart**, et **Map**. Chacun dispose d'un interrupteur pour l'inclure ou l'exclure du rapport. Vous pouvez supprimer tout composant dont vous n'avez pas besoin.

{% tabs %}
{% tab title="Tableau de données" %}
Le tableau de données affiche les résultats de la requête en lignes paginées.

* **Taille de page** : définit le nombre de lignes affichées par page dans la vue interactive. Cela n'affecte pas l'exportation, qui contient toujours l'ensemble complet des résultats.
* **Afficher la ligne Totaux** : ajoute une ligne récapitulative en bas du tableau lorsqu'elle est activée.
  {% endtab %}

{% tab title="Chart" %}
Deux types de graphiques sont disponibles :

* **Séries temporelles (ligne)** : adapté aux données tracées dans le temps.
* **Diagramme en barres** : adapté aux comparaisons catégorielles (également appelé graphique en colonnes).

Configurer les axes :

* **Colonne de l'axe X** : généralement une colonne temporelle telle que `device_time`.
* **Colonnes de l'axe Y** : une ou plusieurs colonnes numériques, comme la vitesse ou le `fuel_level`.
* **Regrouper par** : divisez éventuellement les séries par une colonne catégorielle, telle que `object_label`, pour afficher une ligne ou un groupe de barres distinct par appareil.
  {% endtab %}

{% tab title="Carte de localisation" %}
La carte de localisation trace les points de données en utilisant les coordonnées GPS.&#x20;

Dashboard Studio peut détecter automatiquement les colonnes de latitude et de longitude à partir du résultat de votre requête. Lorsque l'interrupteur **Auto-detect GPS columns** est activé, les colonnes nécessaires pour définir l'emplacement (généralement `latitude` et `longitude`) sont sélectionnées automatiquement si votre requête les renvoie.

Vous pouvez également désactiver l'option **Auto-detect** et sélectionner manuellement les colonnes nécessaires.
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Étape 5 : Enregistrer le rapport

Cliquez sur Enregistrer. Le rapport apparaît dans la section de menu que vous avez sélectionnée à l'étape 1 et est accessible à tous les utilisateurs qui ont accès à cette section.
{% endstep %}
{% endstepper %}

## Consultation d'un rapport

Après avoir créé un rapport, il s'ouvre immédiatement. Vous verrez tous les composants configurés rendus avec des données en direct de votre base IoT Query. L'en-tête du rapport affiche l'horodatage de la dernière mise à jour, le nombre total de lignes et le temps d'exécution de la requête.&#x20;

La page du rapport expose également la requête SQL directement, afin que vous puissiez la mettre à jour quand vous en avez besoin.

1. Développez la section **SQL Query** pour afficher ou modifier la requête en ligne.&#x20;
2. Appliquer les modifications :
   1. Cliquez sur **Save** pour enregistrer les modifications sans exécution. Vous devrez cliquer sur **Refresh** pour réexécuter la requête et mettre à jour toutes les vues avec les données actuelles.
   2. **Save & Run** pour appliquer la requête mise à jour immédiatement.

### Tableau de données

La section **Data Table** affiche les résultats de la requête avec l'en-tête de section affichant le nombre total de lignes renvoyées par la requête. La vue interactive n'affiche qu'un nombre limité de lignes, le pied de page confirme le nombre exact. Utilisez le menu déroulant **Download** pour exporter l'ensemble complet des résultats sous forme d'Excel (.xlsx) ou CSV (.csv) indépendamment du nombre de lignes affichées dans la vue interactive.

Si vous avez besoin d'adresses plutôt que de coordonnées brutes, cochez la case **Geocode to address** dans le coin supérieur droit de l'en-tête. **Data Table** Lorsqu'elle est activée, elle résout les colonnes de coordonnées en adresses de rue lisibles.

{% hint style="warning" %}
La résolution d'adresses impose une charge significative sur le serveur. Utilisez cette option uniquement avec des ensembles de données agrégés ou filtrés. Pour des données télématiques brutes comportant des dizaines de milliers de lignes, conservez les coordonnées sous forme numérique.
{% endhint %}

### Chart

La section Graphique s'affiche sous le tableau de données. Elle hérite des paramètres que vous avez appliqués dans l'éditeur de rapport, mais vous pouvez aussi ajuster la configuration des axes directement dans la vue :

* **Axe X** : sélectionnez la colonne à tracer sur l'axe horizontal.
* **Axe Y** : sélectionnez la colonne à tracer sur l'axe vertical.
* **Regrouper par** : divisez éventuellement les séries par une colonne catégorielle, telle que `object_label`, pour afficher une ligne ou un groupe de barres distinct par appareil.

Le graphique affiche un titre généré automatiquement décrivant la sélection actuelle des axes et du regroupement, par exemple : `vitesse sur device_time (groupé par object_label)`. Lorsque vous modifiez les paramètres d'axe sans enregistrer, un indicateur **Unsaved changes** apparaît à côté du bouton **Save Chart Settings** . Cliquez dessus pour conserver les modifications de configuration dans le rapport.

### Carte de localisation

La section **La section** Location Map

affiche chaque ligne de la requête comme un point à ses coordonnées GPS. L'en-tête de section indique le nombre de points tracés. Les colonnes GPS sont définies lors de la création du rapport (automatiquement ou manuellement), il n'est pas possible de les modifier par la suite. Si la requête ne renvoie aucune colonne de coordonnées reconnue, la section affiche "No GPS coordinates detected in query results."

{% hint style="info" %}
Pour les données télématiques horodatées, les points tracés représentent le trajet complet d'un objet sur la période interrogée. **La carte est interactive : effectuez un zoom et un panoramique pour inspecter les points individuels. Cliquez sur** Show all
{% endhint %}

## pour dézoomer et adapter tous les points tracés dans la zone visible de la carte.

Exportation d'un rapport

### Dashboard Studio propose deux niveaux d'exportation.

Exportation du tableau de données **Download** Utilisez le menu déroulant à l'intérieur de la section **Data Table** pour exporter uniquement les données du tableau. L'exportation contient toujours l'ensemble complet des résultats renvoyés par la requête, indépendamment de la limite d'affichage dans la vue interactive.

### Exportation complète du rapport

Utilisez les boutons dans l'en-tête du rapport pour exporter tous les composants ensemble.

| Bouton                | Sortie                                                                                       |
| --------------------- | -------------------------------------------------------------------------------------------- |
| Excel → Excel (.xlsx) | Feuille de calcul contenant le tableau de données complet                                    |
| Excel → CSV (.csv)    | Fichier de valeurs séparées par des virgules contenant le tableau de données complet         |
| HTML                  | Fichier interactif contenant le tableau de données, le graphique et la carte de localisation |
| PDF                   | Document statique contenant le tableau de données, le graphique et la carte de localisation  |

{% hint style="info" %}
Le fichier HTML exporté préserve l'interactivité : le graphique prend en charge les info-bulles au survol et la carte de localisation prend en charge le zoom et le panoramique.
{% endhint %}

## Modifier et supprimer un rapport

Pour modifier un rapport enregistré, vous n'avez plus besoin d'une boîte de dialogue d'éditeur séparée. Ouvrez le rapport depuis le menu et modifiez la requête SQL ou les paramètres des composants directement dedans. La seule exception concerne les colonnes de localisation, elles sont définies une fois lors de la création du rapport.

Pour supprimer un rapport, cliquez sur **Outils** dans la barre latérale gauche, puis sélectionnez **Edit menu**. Localisez le rapport dans l'arborescence du menu et cliquez sur le menu à trois points à côté de son nom, puis confirmez la suppression.
