Utilisation des requêtes SQL

Dans la dernière section, nous avons montré comment charger l'ensemble du dataframe et effectuer des opérations avec Pandas. Avec SQL, vous pouvez charger le dataframe et effectuer les opérations dans la même requête, c'est pourquoi elle est plus rapide. Ces requêtes sont souvent plus puissantes et performantes que les méthodes Pandas présentées ci-dessus.

Cependant, les méthodes Pandas sont plus simples à utiliser et à comprendre.

Dans ces requêtes, le nom de la table est accessible via l'attribut name et doit être donné entre guillemets. L'utilisation de f-strings est fortement recommandée.

Une description des tableaux est disponible ici. Elle contient un glossaire et des descriptions des différents éléments d'un tableau.

Par conséquent, la requête suivante renvoie toutes les colonnes de la datasource donnée pour la clé de processus spécifiée.

ds = my_project.edges_datasource
edges_filtered = ds.request(f'SELECT * FROM \"{ds.name}\" WHERE "processkey" = \'<Your Process Key>\'')

Nous pouvons également calculer la valeur moyenne de la colonne duration. Par exemple:

edge_duration_mean = ds.request(f'SELECT AVG(duration) FROM \"{ds.name}\"')

De la même manière, les requêtes suivantes renvoient respectivement la valeur minimale et la valeur maximale de la colonne enddate :

edge_enddate_min = ds.request(f'SELECT MIN(enddate) FROM \"{ds.name}\"')
edge_enddate_max = ds.request(f'SELECT MAX(enddate) FROM \"{ds.name}\"')

Enfin, l'instruction SQL suivante liste le nombre de cas par detail destination, trié de haut en bas :

count = ds.request(f'SELECT COUNT(caseid), detail_7_lpkr_destination FROM \"{ds.name}\" GROUP BY detail_7_lpkr_destination ORDER BY COUNT(caseid) DESC')