Tutoriel SQL : Récupérer le top XX% en fonction d’une somme de revenu ou autre quantité

Voici une petite requête qui pourra faciliter la vie de nombreuse personnes. En effet en SQL il est simple de diviser des données en groupe égaux en nombre de lignes grâce à la fontion NTILE().

Mais dans de nombreux cas, nous ne souhaitons pas regrouper nos informations par rapport au nombre de lignes, mais par rapport au revenu généré.

Rien ne vaut un exemple concret, voici un tableau Excel représentant le résultat attendu, nos partenaire avec un groupe attribué par tranche de 25% par rapport au revenu total de nos partenaires :

En effet, nous accorderons plus d’attention à nos partenaires générant générant la majeure partie du revenu, ou au contraire nous pourrons nous intéresser à ceux en bas de l’échelle afin de déterminer pourquoi il ne font pas suffisement de chiffre.

La demande semble simple comme cela, mais aucune fonction SQL ne permet de le faire simplement. ( certains appellerons à l’aide le MDX des cubes Olap mais nous n’en somme pas là J )

Nous allons compliquer sensiblement la demande en classant non seulement nos partenaire, mais également pour chaque région de France.

Voici donc une requête qui vous permettra de récupérer les comptes ayant réalisé un pourcentage défini ( ici 70 ) du revenu de la région en utilisant les tables de travail ( WorkTable ), qui apporte non seulement en lisibilité dans notre requête, mais également en performance d’exécution.

Pas de commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *