Bonjour à tous,
J'essaie de créer une requête SQL me permettant de diviser un champ par sa sommation. Exemple:
Je désire donc récupérer ces données:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Annee Canal Valeur 2011 01 1872 2010 01 2978 2009 01 3874 2011 02 2983 2010 02 1234
Il s'agit donc de diviser la "Valeur" de chaque ligne par la sommation de la colonne "Valeur" groupée par année & canal.Canal 01 - Année 2011 : 21,46%
Canal 01 - Année 2010 : 34,14%
Canal 01 - Année 2009 : 44,41%
Canal 02 - Année 2011 : 70,74%
Canal 02 - Année 2010 : 29,26%
Si quelqu'un pourrait m'aider, ce serait grandement apprécié !!
Merci
*NOTE: Je travail sous Access 2007...
*EDIT: Actuellement, mon code ressemble à cela:
Cependant, la colonne "Total" retourne des valeurs impossibles et plutôt que d'avoir ~100 occurrences, il m'en retourne ~1000.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_EXCEL_Demande.NoAnnPre, T_PIL_Canaux.CodeCan, T_EXCEL_Demande.Total, Sum(T_EXCEL_Demande_1.Total) AS SommeDeTotal, IIf(T_EXCEL_Demande.Total=0,0,[T_EXCEL_Demande]![Total]/Sum([T_EXCEL_Demande_1]![Total])) AS Pourcent FROM (T_EXCEL_Demande INNER JOIN T_EXCEL_Demande AS T_EXCEL_Demande_1 ON T_EXCEL_Demande.NoCan = T_EXCEL_Demande_1.NoCan) INNER JOIN T_PIL_Canaux ON T_EXCEL_Demande.NoCan = T_PIL_Canaux.NoCan WHERE (((T_EXCEL_Demande.NoAnnPre)=0)) GROUP BY T_EXCEL_Demande.NoAnnPre, T_PIL_Canaux.CodeCan, T_EXCEL_Demande.Total;
Partager