IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Moyenne sur les 5 dernières semaines


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut Moyenne sur les 5 dernières semaines
    Bonjour

    Tout est dans le titre
    Bon, un peu d'explication quand même.


    J'ai une table qui contient Année, N° Semaine, Nbre article produit par semaine.

    Je souhaite connaître la moyenne des 5 dernières semaines. Alors mine de rien, j'ai réussi à sortir par une requête, mes 5 dernières semaines de productions en faisant un TOP 5 sur le N° de Semaine avec un ordre décroissant.


    En revanche, la moyenne de ce résultat (donc la somme / 5), j'ai pas la solution à portée de main. J'ai essayé de passer par une 2e requête, mais c'est un peu long, pas pratique et surtout ca marche pas! Enfin avec moi

    Qu'en pensez vous ? Une idée peut-être

    A bientôt

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Est-ce que tu as toujours 5 semaines de donnees par produit ou il arrive que si tu n'as pas de ventes de ce produit dans la semaine, tu n'as pas de donnees ?

    ex :

    • P1, Sem1, 100
    • P1, Sem2, 0
    • P1, Sem3, 150
    • P1, Sem4, 0
    • P1, Sem5, 100


    ou

    • P1, Sem1, 100
    • P1, Sem3, 150
    • P1, Sem5, 100


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut
    Bonjour marot_r


    Je peux avoir ce cas de figure, particulièrement en début d'année

    P1, Sem1, 100
    P1, Sem2, 0
    P1, Sem3, 150
    P1, Sem4, 0
    P1, Sem5, 100

    Cela étant dit, c'est pas gênant d'un point de vue affichage du résultat, puisque cette moyenne est donnée à titre indicative. Elle prend son sens lorsque nous sommes à plein régime, pour donner une idée du rythme. Cela permet ensuite d'imaginer un point de sortie de fin d'année.

    Bonne journée

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ok, alors, cela me semble assez simple.

    Tu crees une requete qui te donnes ton historique des 5 dernieres semaines (-35 jours).
    Quelque chose comme :

    reqDonnees5Semaine
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select tblDonnees.*, tblDonnees.Annee & "-" & format(tblDonnees.Semaine, "00") as AnneeSemaine  from tblDonnees
    where tblDonnees.Annee & "-" & format(tblDonnees.Semaine, "00")  between 
        year(DateAdd("d",-35,Date())) & "-" & Format(format(DateAdd("d",-35,Date()), "ww"), "00), "yyyy" 
        and year(Date()) & "-" & Format(format(Date(), "ww"), "00)

    Puis tu fais une requete base sur reqDonnees5Semaine qui regroupe tes donnees par produits et semaine et qui fait la moyene.

    verifie les parametres de Format pour le calcul de la semaine, j'ai mis ceux dont je me souvenais mais il faut perciser le 1er jour de l'annee et celui de la 1ere semaine.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut
    Effectivement, cela me semble assez simple.

    Je regarde, je me lance et on croise les doigts !!!


    Merci marot_r

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    La formule parait complexe mais tout ce qu'elle fait c'est calculer la date courante -35j puis de la mettre sous la forme de Annee et Semaine (ex : 2018-03 pour la 3ieme semaine de 2018).
    Et simplement de metre la date courante sous la forme de Annee et Semaine.
    Le between permet la selection des donnees entre ces 2 bornes.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut
    Bonjour

    j'ai commencé à créer la requête en y allant pas à pas. Tout allait bien jusqu'à que j'insère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      between 
        year(DateAdd("d",-35,Date())) & "-" & Format(format(DateAdd("d",-35,Date()), "ww"), "00), "yyyy" 
        and year(Date()) & "-" & Format(format(Date(), "ww"), "00)
    Et là,c'est le drame : erreur de synthaxe . J'ai cherché, j'ai bidouillé mais j'atteint mes limite.


    J'ai mis en PJ ma table pour essayer grandeur nature...


    A suivre et merci pour votre aide

    A bientôt
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    au lieu de lire "00 bien lire "00" et je pense qu'il faut supprimer , "yyyy"
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Oui, il faut.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    between 
        year(DateAdd("d",-35,Date())) & "-" & Format(format(DateAdd("d",-35,Date()), "ww"), "00"), 
        and year(Date()) & "-" & Format(format(Date(), "ww"), "00")

    Desole de l'erreur lors du post.

    L'idee est de recuperer le numero de la semaine avec la function Fornat() et d'obtenir : AAAA-SS (ex 2018-07 pour la 7ieme semaine de 2018).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/09/2017, 13h26
  2. [2012] DAX : Calcul de la moyenne sur les 4 dernières semaines
    Par manu_manu_d dans le forum SSAS
    Réponses: 8
    Dernier message: 12/04/2012, 23h44
  3. Indemnité de stage non payée sur les 6 dernières semaines
    Par mvk44 dans le forum Droit du travail
    Réponses: 3
    Dernier message: 25/01/2011, 16h34
  4. Réponses: 4
    Dernier message: 07/05/2008, 10h53
  5. [BO XI] Variable Moyenne sur les X dernieres semaines
    Par bandini dans le forum Débuter
    Réponses: 4
    Dernier message: 23/01/2008, 00h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo