Exemples de requêtes analytiques

Mis à jour

Bêta. La base de données de reporting est actuellement en bêta ; les tables et colonnes utilisées dans ces exemples peuvent encore évoluer.

Avant de commencer

Ces exemples supposent que vous vous êtes connecté et que vous avez pointé votre session vers le schéma de votre espace de travail :

set search_path to "company_<your-workspace-id>";

Chaque exemple filtre les lignes supprimées avec where deleted_at is null afin que vous ne voyiez que les données actuelles. Supprimez ce filtre si vous souhaitez inclure spécifiquement les enregistrements supprimés.

Enregistrements par statut

Combien de sessions d'exécution se trouvent dans chaque statut :

select status, count(*) as recordings
from recording
where deleted_at is null
group by status
order by recordings desc;

Problèmes par colonne du tableau

Où se trouvent actuellement vos problèmes d'amélioration continue :

select column_name, count(*) as issues
from issue
where deleted_at is null
group by column_name
order by issues desc;

Problèmes créés par mois

Tendance simple des nouveaux problèmes au fil du temps :

select date_trunc('month', created_at) as month,
       count(*) as issues
from issue
where deleted_at is null
  and created_at is not null
group by month
order by month;

Temps actif moyen par instruction de travail

actual_duration correspond au temps de travail actif d'un enregistrement, en millisecondes. Ceci affiche la moyenne en secondes pour les instructions de travail les plus sollicitées :

select workinstruction_id,
       count(*) as recordings,
       round(avg(actual_duration) / 1000.0, 1) as avg_seconds
from recording
where deleted_at is null
  and actual_duration is not null
group by workinstruction_id
order by recordings desc
limit 20;

Conseils

  • Faites des jointures entre tables sur leurs colonnes id — par exemple, recording.workinstruction_id correspond à workinstruction.workinstruction_id.
  • Utilisez les descriptions de colonnes intégrées lorsque vous ne savez pas ce que signifie un champ.
  • Effectuez l'agrégation et le filtrage en SQL avant d'extraire les données vers votre outil BI — c'est plus rapide et plus léger.