Bonjour,
j'aimerais pouvoir faire la médiane d'une variable et la somme de cette même variable en fonction des modalités d'une autre variable.
Pour mieux comprendre, j'ai fait un jeu de test, dont voici les valeurs dans un fichier Excel :
Imaginons que cette table se nomme : table_finale
Pour faire la médiane, je me suis rendu compte que sous SQL, ce n'était pas forcément facile.
Pour info, lisez ici : http://sqlpro.developpez.com/optimis...dianeEnSQL.pdf
Bref, en faisant le code suivant, je peux faire la médiane GLOBALE de ma série de données :
A savoir que le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 proc sql; create table temp_mediane as select * from table_finale UNION ALL select * from table_finale ; QUIT; proc sql; create table mediane as select AVG(DISTINCT tps_recp) AS MEDIANE FROM (SELECT tps_recp FROM (select * from temp_mediane) STT WHERE ( SELECT COUNT(*) FROM (select * from table_finale) ) <= ( SELECT COUNT(*) FROM (select * from temp_mediane) SOU WHERE SOU.tps_recep <= STT.tps_recep) AND ( SELECT COUNT(*) FROM (select * from table_finale) ) <= ( SELECT COUNT(*) FROM (select * from temp_mediane) SUR WHERE SUR.tps_recep >= STT.tps_recep) ) ; QUIT;
n'est pas là pour vous embêter, c'est parce que dans mon cas précis, je filtre la table sur une autre condition ( que je n'ai pas évoqué par facilité).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (select * from table_finale)
Bref, en faisant ceci, j'obtiens bien dans ma table de sortie (mediane) une seule ligne avec 1 variable => la médiane globale de la série de données.
Maintenant, j'aimerais pouvoir faire la médiane ET la somme de cette variable par les modalités (mois) de la variable mois.
Quelqu'un saurait-il comment faire ?
Merci d'avance.
Partager