Bonjour,
=20
Je cherche =E0 faire un RUNNING SUM dans une requ=EAte. La=20
somme est bas=E9 sur le dernier jour de la semaine et par=20
mois dans la m=EAme requ=EAte.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Walsh
Salut,
SELECT a.item, MAX(a.ladate), SUM(b.lesValeurs) FROM quelquePart As a INNER JOIN quelquePart As b ON ( a.laDate >= b.laDate ) AND ( a.item=b.item ) GROUP BY a.item, Datepart( "yyyy", a.laData) , Datepart("ww", a.ladate)
Espérant être utile, Vanderghast, Access MVP
"Patrick Lauzon" wrote in message news:094201c3c002$f5540e20$ Bonjour,
Je cherche à faire un RUNNING SUM dans une requête. La somme est basé sur le dernier jour de la semaine et par mois dans la même requête.
Est-ce que quelqu'un a une solution S.V.P.
Merci
Patrick
Salut,
SELECT a.item, MAX(a.ladate), SUM(b.lesValeurs)
FROM quelquePart As a INNER JOIN quelquePart As b
ON ( a.laDate >= b.laDate ) AND ( a.item=b.item )
GROUP BY a.item, Datepart( "yyyy", a.laData) , Datepart("ww", a.ladate)
Espérant être utile,
Vanderghast, Access MVP
"Patrick Lauzon" <plauzon@bellhelicopter.textron.com> wrote in message
news:094201c3c002$f5540e20$a001280a@phx.gbl...
Bonjour,
Je cherche à faire un RUNNING SUM dans une requête. La
somme est basé sur le dernier jour de la semaine et par
mois dans la même requête.
SELECT a.item, MAX(a.ladate), SUM(b.lesValeurs) FROM quelquePart As a INNER JOIN quelquePart As b ON ( a.laDate >= b.laDate ) AND ( a.item=b.item ) GROUP BY a.item, Datepart( "yyyy", a.laData) , Datepart("ww", a.ladate)
Espérant être utile, Vanderghast, Access MVP
"Patrick Lauzon" wrote in message news:094201c3c002$f5540e20$ Bonjour,
Je cherche à faire un RUNNING SUM dans une requête. La somme est basé sur le dernier jour de la semaine et par mois dans la même requête.
Est-ce que quelqu'un a une solution S.V.P.
Merci
Patrick
Michel Walsh
Salut,
J'aurais dû illustrer le fonctionnement.
Admettons:
Ladate, LaValeur ' champs 1 12 2 11 3 7 4 15 5 9
La jointure implique deux fois la même table, une fois avec alias a et une fois avec alias b. Sans joint interne,
La jointure interne utilisée (si on fait abstration de a.item = a.item, disons qu'on n'a qu'un seul item, pour simplifier) demande a.LaDate > b.LaDate. On ne garde que les combinaisons qui respectent ce critère:
Notons que le champ b.LaValeur, non illustré, suit également (c'est tout le record qui est "retenu" ou "éliminé").
Maintenant, si on regroupe sur a.LaDate, on remarque que, effectivement, les enregistrements conservés de b, pour chaque groupe, correspondent aux données "jusqu'à maintenant" considérées par a.LaDate. Donc, SUM(b.LaValeur) fourni notre somme jusqu'à la date a.laDate.
Dans note cas, on ne veut pas par date, mais par semaine, d'où
GROUP BY Datepart( "yyyy", a.laDate) , Datepart("ww", a.laDate)
Espérant être utile, Vanderghast, Access MVP
Salut,
J'aurais dû illustrer le fonctionnement.
Admettons:
Ladate, LaValeur ' champs
1 12
2 11
3 7
4 15
5 9
La jointure implique deux fois la même table, une fois avec alias a et une
fois avec alias b. Sans joint interne,
La jointure interne utilisée (si on fait abstration de a.item = a.item,
disons qu'on n'a qu'un seul item, pour simplifier) demande a.LaDate > b.LaDate. On ne garde que les combinaisons qui respectent ce critère:
Notons que le champ b.LaValeur, non illustré, suit également (c'est tout le
record qui est "retenu" ou "éliminé").
Maintenant, si on regroupe sur a.LaDate, on remarque que, effectivement, les
enregistrements conservés de b, pour chaque groupe, correspondent aux
données "jusqu'à maintenant" considérées par a.LaDate. Donc, SUM(b.LaValeur)
fourni notre somme jusqu'à la date a.laDate.
Dans note cas, on ne veut pas par date, mais par semaine, d'où
GROUP BY Datepart( "yyyy", a.laDate) , Datepart("ww", a.laDate)
La jointure interne utilisée (si on fait abstration de a.item = a.item, disons qu'on n'a qu'un seul item, pour simplifier) demande a.LaDate > b.LaDate. On ne garde que les combinaisons qui respectent ce critère:
Notons que le champ b.LaValeur, non illustré, suit également (c'est tout le record qui est "retenu" ou "éliminé").
Maintenant, si on regroupe sur a.LaDate, on remarque que, effectivement, les enregistrements conservés de b, pour chaque groupe, correspondent aux données "jusqu'à maintenant" considérées par a.LaDate. Donc, SUM(b.LaValeur) fourni notre somme jusqu'à la date a.laDate.
Dans note cas, on ne veut pas par date, mais par semaine, d'où
GROUP BY Datepart( "yyyy", a.laDate) , Datepart("ww", a.laDate)