Requette avec regroupement par semaine

therafou

XLDnaute Junior
Salut,

voilà je viens de mettre en place une requette pour faire un regroupement mois pour avoir la moyen, le max et le min avec une base access qui envoye le tout sous excel.

dont voilà la source de la requette SQL sous access:
Code:
SELECT DISTINCTROW Format$([brut].[date],'mmmm yyyy') AS [date par mois], Avg(brut.connexion_svi) AS [Moyenne De connexion_svi], Min(brut.connexion_svi) AS [Min De connexion_svi], Max(brut.connexion_svi) AS [Max De connexion_svi],
 Avg(brut.serv_op) AS [Moyenne De serv_op], Min(brut.serv_op) AS [Min De serv_op], Max(brut.serv_op) AS [Max De serv_op],
  Avg(brut.adandons_dissuades) AS [Moyenne De adandons_dissuades], Min(brut.adandons_dissuades) AS [Min De adandons_dissuades], Max(brut.adandons_dissuades) AS [Max De adandons_dissuades],
   Avg(brut.qlt_serv_pris30s) AS [Moyenne De qlt_serv_pris30s], Min(brut.qlt_serv_pris30s) AS [Min De qlt_serv_pris30s], Max(brut.qlt_serv_pris30s) AS [Max De qlt_serv_pris30s],
    Avg(brut.qlt_serv_traite_op) AS [Moyenne De qlt_serv_traite_op], Min(brut.qlt_serv_traite_op) AS [Min De qlt_serv_traite_op], Max(brut.qlt_serv_traite_op) AS [Max De qlt_serv_traite_op],
     Avg(brut.tps_attente_max) AS [Moyenne De tps_attente_max], Min(brut.tps_attente_max) AS [Min De tps_attente_max], Max(brut.tps_attente_max) AS [Max De tps_attente_max],
      Avg(brut.appel_informati) AS [Moyenne De appel_informati], Min(brut.appel_informati) AS [Min De appel_informati], Max(brut.appel_informati) AS [Max De appel_informati],
       Avg(brut.perdu) AS [Moyenne De perdu], Min(brut.perdu) AS [Min De perdu], Max(brut.perdu) AS [Max De perdu],
        Avg(brut.nb_agent) AS [Moyenne De nb_agent], Min(brut.nb_agent) AS [Min De nb_agent], Max(brut.nb_agent) AS [Max De nb_agent]
FROM brut
GROUP BY Year([brut].[date])*12+DatePart('m',[brut].[date])-1, Format$([brut].[date],'mmmm yyyy')
ORDER BY Year([brut].[date])*12+DatePart('m',[brut].[date])-1;

Actuellement, je cherche à mettre en place la même chose, mais au lieu d'avoir une regroupement par mois l'avoir par semaine avec moyen, max , min.
Malheureusement mais compétence en SQL se limite très vite donc je viens de mander votre aide.

voir la source access:
Lien supprimé
 

Kobaya

XLDnaute Occasionnel
Re : Requette avec regroupement par semaine

salut therafou,

essaie en remplaçant ta ligne GROUP BY par ceci :
GROUP BY Year([brut].[date])*12+DatePart('ww',[brut].[date])-1, Format$([brut].[date],'ww yyyy')

dans l'aide de VBA, cherche "User-Defined Date/Time Formats (Format function)", et tu verra toutes les options disponibles.

Edit:
peut-être faudra-t-il aussi modifier ton ORDER BY.
 
Dernière édition:

therafou

XLDnaute Junior
Re : Requette avec regroupement par semaine

il faut le modifier le Order By

voilà la solution:
Code:
SELECT DISTINCTROW Format$([brut].[date],'[B]ww[/B]') AS [Nulero de semaine], Format$([brut].[date],'mmmm yyyy') AS [date par mois], Avg(brut.connexion_svi) AS [Moyenne De connexion_svi], Min(brut.connexion_svi) AS [Min De connexion_svi], Max(brut.connexion_svi) AS [Max De connexion_svi], Avg(brut.serv_op) AS [Moyenne De serv_op], Min(brut.serv_op) AS [Min De serv_op], Max(brut.serv_op) AS [Max De serv_op], Avg(brut.adandons_dissuades) AS [Moyenne De adandons_dissuades], Min(brut.adandons_dissuades) AS [Min De adandons_dissuades], Max(brut.adandons_dissuades) AS [Max De adandons_dissuades], Avg(brut.qlt_serv_pris30s) AS [Moyenne De qlt_serv_pris30s], Min(brut.qlt_serv_pris30s) AS [Min De qlt_serv_pris30s], Max(brut.qlt_serv_pris30s) AS [Max De qlt_serv_pris30s], Avg(brut.qlt_serv_traite_op) AS [Moyenne De qlt_serv_traite_op], Min(brut.qlt_serv_traite_op) AS [Min De qlt_serv_traite_op], Max(brut.qlt_serv_traite_op) AS [Max De qlt_serv_traite_op], Avg(brut.tps_attente_max) AS [Moyenne De tps_attente_max], Min(brut.tps_attente_max) AS [Min De tps_attente_max], Max(brut.tps_attente_max) AS [Max De tps_attente_max], Avg(brut.appel_informati) AS [Moyenne De appel_informati], Min(brut.appel_informati) AS [Min De appel_informati], Max(brut.appel_informati) AS [Max De appel_informati], Avg(brut.perdu) AS [Moyenne De perdu], Min(brut.perdu) AS [Min De perdu], Max(brut.perdu) AS [Max De perdu], Avg(brut.nb_agent) AS [Moyenne De nb_agent], Min(brut.nb_agent) AS [Min De nb_agent], Max(brut.nb_agent) AS [Max De nb_agent]
FROM brut
GROUP BY Format$([brut].[date],'[B]ww[/B]'), Format$([brut].[date],'mmmm yyyy'), Year(brut.date)*12+DatePart('m',brut.date)-1
ORDER BY Year(brut.date)*12+DatePart('m',brut.date)-1;

Merci pour ton aide.
 

Statistiques des forums

Discussions
312 334
Messages
2 087 384
Membres
103 530
dernier inscrit
dieubrice