Bonjour,
j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE
je voudrais creer un champs calculé dans une requete selection qui ferait
sur le mois M ,la somme des 12 mois precedents.
ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à
JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à
FEVRIER 2006...ETC...
Comment doit on s'y prendre???..faut il passer par une procedure via un
module ou existe t il une fonction speciale que l on mettrait directement
dans la requete via le mode "générer"???
Merci de votre soutien.
--
ALF
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
Ilan
Bonjour, que contient le champ MOIS ? le mois en toute lettre ou l'indice du mois ? Ca devrait donner une requete du genre SELECT A.ENTITE, A.MOIS, A.ANNEE, SUM(B.MESURE) FROM TABLE AS A LEFT JOIN TABLE AS B ON Date(B)>ÚteAdd("m",-11,Date(A) AND Date(B)<Úte(A) GROUP BY A.ENTITE, A.MOIS, A.ANNEE
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
Bonjour, que contient le champ MOIS ? le mois en toute lettre ou l'indice du
mois ?
Ca devrait donner une requete du genre
SELECT A.ENTITE, A.MOIS, A.ANNEE, SUM(B.MESURE)
FROM TABLE AS A LEFT JOIN TABLE AS B
ON Date(B)>ÚteAdd("m",-11,Date(A) AND Date(B)<Úte(A)
GROUP BY A.ENTITE, A.MOIS, A.ANNEE
Bonjour,
j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE
je voudrais creer un champs calculé dans une requete selection qui ferait
sur le mois M ,la somme des 12 mois precedents.
ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à
JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à
FEVRIER 2006...ETC...
Comment doit on s'y prendre???..faut il passer par une procedure via un
module ou existe t il une fonction speciale que l on mettrait directement
dans la requete via le mode "générer"???
Merci de votre soutien.
--
ALF
Bonjour, que contient le champ MOIS ? le mois en toute lettre ou l'indice du mois ? Ca devrait donner une requete du genre SELECT A.ENTITE, A.MOIS, A.ANNEE, SUM(B.MESURE) FROM TABLE AS A LEFT JOIN TABLE AS B ON Date(B)>ÚteAdd("m",-11,Date(A) AND Date(B)<Úte(A) GROUP BY A.ENTITE, A.MOIS, A.ANNEE
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
Synopsis
Tu crées une vue :
SELECT A.* , ( SELECT SUM(mesure) FROM maTable as B WHERE B.entite = A.entite and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ] between 0 and 11 ) as mesure_12m FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 ) N = 24074 - 24066 N = 8 mois
"ALF" a écrit dans le message de news:
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
Tu crées une vue :
SELECT
A.*
, (
SELECT SUM(mesure)
FROM maTable as B
WHERE B.entite = A.entite
and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ]
between 0 and 11
) as mesure_12m
FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 )
N = 24074 - 24066
N = 8 mois
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:0B65EBFB-9A8E-40DC-ABDE-12D9A4DEC093@microsoft.com...
Bonjour,
j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE
je voudrais creer un champs calculé dans une requete selection qui ferait
sur le mois M ,la somme des 12 mois precedents.
ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à
JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à
FEVRIER 2006...ETC...
Comment doit on s'y prendre???..faut il passer par une procedure via un
module ou existe t il une fonction speciale que l on mettrait directement
dans la requete via le mode "générer"???
Merci de votre soutien.
--
ALF
SELECT A.* , ( SELECT SUM(mesure) FROM maTable as B WHERE B.entite = A.entite and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ] between 0 and 11 ) as mesure_12m FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 ) N = 24074 - 24066 N = 8 mois
"ALF" a écrit dans le message de news:
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
ALF
Re, J'ai du mal expliquer mon problême et je m'en excuse...en fait il y a 3 champs ENTITE ,MOIS ,MESURE en sachant que le champs MOIS correspond à du texte .par ex. JANVIER-2006 et le champs MESURE correspond à un montant (valeur reel double) lorque je parlais de "somme des 12 mois precedents" cela correspondait en fait a la somme des 12 valeurs du champs "MESURE" correspondant aux 12 mois precedant le mois M(M compris).----->en fait la somme de 12 montants sur le champs MESURE. ex: mois M= JANVIER-2006 MESURE= 400 (correspond à 400 euros). FEVRIER-2005 MESURE= 200 MARS-2005 MESURE= 100 AVRIL-2005 MESURE= 500 MAI-2005 MESURE= 400 JUIN-2005 MESURE= 100 JUILLET-2005 MESURE= 800 AOUT-2005 MESURE= 500 SEPTEMBRE-2005 MESURE= 700 OCTOBRE-2005 MESURE= 600 NOVEMBRE-2005 MESURE= 400 DECEMBRE-2005 MESURE= 100
donc le champs calculé pour MESURE (JANVIER-2006) =MESURE(FEVRIER-2005)+MESURE(MARS-2005)+MESURE(AVRIL-2005)+MESURE(MAI-2005)+MESURE(JUIN-2005)+MESURE(JUILLET-2005)+MESURE(AOUT-2005)+MESURE(SEPTEMBRE-2005)+MESURE(OCTOBRE-2005)+MESURE(NOVEMBRE-2005)+MESURE(DECEMBRE-2005)+MESURE(JANVIER-2006)= 4800
2eme ex:si mois M þVRIER-2006 MESURE(M) calculé =(MESURE(MARS-2005)+MESURE(MARS-2005)+...etc.....MESURE(FEVRIER-2006)
En fait MESURE calculée Mois M= MESURE M-11+MESURE M-10+MESURE M-9+MESURE M-8+MESURE M-7+MESURE M-6+MESURE M-5+MESURE M-4+MESURE M-3+MESURE M-2+MESURE M-1+MESURE M)
Merci encore pour votre soutien.
-- ALF
Tu crées une vue :
SELECT A.* , ( SELECT SUM(mesure) FROM maTable as B WHERE B.entite = A.entite and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ] between 0 and 11 ) as mesure_12m FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 ) N = 24074 - 24066 N = 8 mois
"ALF" a écrit dans le message de news:
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
Re,
J'ai du mal expliquer mon problême et je m'en excuse...en fait il y a 3
champs ENTITE ,MOIS ,MESURE en sachant que le champs MOIS correspond à du
texte .par ex. JANVIER-2006 et le champs MESURE correspond à un montant
(valeur reel double)
lorque je parlais de "somme des 12 mois precedents" cela correspondait en
fait a la somme des 12 valeurs du champs "MESURE" correspondant aux 12 mois
precedant le mois M(M compris).----->en fait la somme de 12 montants sur le
champs MESURE.
ex: mois M= JANVIER-2006 MESURE= 400 (correspond à 400 euros).
FEVRIER-2005 MESURE= 200 MARS-2005 MESURE= 100 AVRIL-2005 MESURE= 500
MAI-2005 MESURE= 400 JUIN-2005 MESURE= 100 JUILLET-2005 MESURE= 800
AOUT-2005 MESURE= 500 SEPTEMBRE-2005 MESURE= 700 OCTOBRE-2005 MESURE= 600
NOVEMBRE-2005 MESURE= 400 DECEMBRE-2005 MESURE= 100
donc le champs calculé pour MESURE (JANVIER-2006)
=MESURE(FEVRIER-2005)+MESURE(MARS-2005)+MESURE(AVRIL-2005)+MESURE(MAI-2005)+MESURE(JUIN-2005)+MESURE(JUILLET-2005)+MESURE(AOUT-2005)+MESURE(SEPTEMBRE-2005)+MESURE(OCTOBRE-2005)+MESURE(NOVEMBRE-2005)+MESURE(DECEMBRE-2005)+MESURE(JANVIER-2006)= 4800
2eme ex:si mois M þVRIER-2006 MESURE(M) calculé
=(MESURE(MARS-2005)+MESURE(MARS-2005)+...etc.....MESURE(FEVRIER-2006)
En fait MESURE calculée Mois M= MESURE M-11+MESURE M-10+MESURE M-9+MESURE
M-8+MESURE M-7+MESURE M-6+MESURE M-5+MESURE M-4+MESURE M-3+MESURE M-2+MESURE
M-1+MESURE M)
Merci encore pour votre soutien.
--
ALF
Tu crées une vue :
SELECT
A.*
, (
SELECT SUM(mesure)
FROM maTable as B
WHERE B.entite = A.entite
and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ]
between 0 and 11
) as mesure_12m
FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 )
N = 24074 - 24066
N = 8 mois
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:0B65EBFB-9A8E-40DC-ABDE-12D9A4DEC093@microsoft.com...
Bonjour,
j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE
je voudrais creer un champs calculé dans une requete selection qui ferait
sur le mois M ,la somme des 12 mois precedents.
ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à
JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à
FEVRIER 2006...ETC...
Comment doit on s'y prendre???..faut il passer par une procedure via un
module ou existe t il une fonction speciale que l on mettrait directement
dans la requete via le mode "générer"???
Merci de votre soutien.
--
ALF
Re, J'ai du mal expliquer mon problême et je m'en excuse...en fait il y a 3 champs ENTITE ,MOIS ,MESURE en sachant que le champs MOIS correspond à du texte .par ex. JANVIER-2006 et le champs MESURE correspond à un montant (valeur reel double) lorque je parlais de "somme des 12 mois precedents" cela correspondait en fait a la somme des 12 valeurs du champs "MESURE" correspondant aux 12 mois precedant le mois M(M compris).----->en fait la somme de 12 montants sur le champs MESURE. ex: mois M= JANVIER-2006 MESURE= 400 (correspond à 400 euros). FEVRIER-2005 MESURE= 200 MARS-2005 MESURE= 100 AVRIL-2005 MESURE= 500 MAI-2005 MESURE= 400 JUIN-2005 MESURE= 100 JUILLET-2005 MESURE= 800 AOUT-2005 MESURE= 500 SEPTEMBRE-2005 MESURE= 700 OCTOBRE-2005 MESURE= 600 NOVEMBRE-2005 MESURE= 400 DECEMBRE-2005 MESURE= 100
donc le champs calculé pour MESURE (JANVIER-2006) =MESURE(FEVRIER-2005)+MESURE(MARS-2005)+MESURE(AVRIL-2005)+MESURE(MAI-2005)+MESURE(JUIN-2005)+MESURE(JUILLET-2005)+MESURE(AOUT-2005)+MESURE(SEPTEMBRE-2005)+MESURE(OCTOBRE-2005)+MESURE(NOVEMBRE-2005)+MESURE(DECEMBRE-2005)+MESURE(JANVIER-2006)= 4800
2eme ex:si mois M þVRIER-2006 MESURE(M) calculé =(MESURE(MARS-2005)+MESURE(MARS-2005)+...etc.....MESURE(FEVRIER-2006)
En fait MESURE calculée Mois M= MESURE M-11+MESURE M-10+MESURE M-9+MESURE M-8+MESURE M-7+MESURE M-6+MESURE M-5+MESURE M-4+MESURE M-3+MESURE M-2+MESURE M-1+MESURE M)
Merci encore pour votre soutien.
-- ALF
Tu crées une vue :
SELECT A.* , ( SELECT SUM(mesure) FROM maTable as B WHERE B.entite = A.entite and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ] between 0 and 11 ) as mesure_12m FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 ) N = 24074 - 24066 N = 8 mois
"ALF" a écrit dans le message de news:
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
Ilan
C'est exactement ce que synopsis et moi t'avons donné. Par contre; pour trouver la correspondance des mois majuscules en mois nombre....
Re, J'ai du mal expliquer mon problême et je m'en excuse...en fait il y a 3 champs ENTITE ,MOIS ,MESURE en sachant que le champs MOIS correspond à du texte .par ex. JANVIER-2006 et le champs MESURE correspond à un montant (valeur reel double) lorque je parlais de "somme des 12 mois precedents" cela correspondait en fait a la somme des 12 valeurs du champs "MESURE" correspondant aux 12 mois precedant le mois M(M compris).----->en fait la somme de 12 montants sur le champs MESURE. ex: mois M= JANVIER-2006 MESURE= 400 (correspond à 400 euros). FEVRIER-2005 MESURE= 200 MARS-2005 MESURE= 100 AVRIL-2005 MESURE= 500 MAI-2005 MESURE= 400 JUIN-2005 MESURE= 100 JUILLET-2005 MESURE= 800 AOUT-2005 MESURE= 500 SEPTEMBRE-2005 MESURE= 700 OCTOBRE-2005 MESURE= 600 NOVEMBRE-2005 MESURE= 400 DECEMBRE-2005 MESURE= 100
donc le champs calculé pour MESURE (JANVIER-2006) =MESURE(FEVRIER-2005)+MESURE(MARS-2005)+MESURE(AVRIL-2005)+MESURE(MAI-2005)+MESURE(JUIN-2005)+MESURE(JUILLET-2005)+MESURE(AOUT-2005)+MESURE(SEPTEMBRE-2005)+MESURE(OCTOBRE-2005)+MESURE(NOVEMBRE-2005)+MESURE(DECEMBRE-2005)+MESURE(JANVIER-2006)= 4800
2eme ex:si mois M þVRIER-2006 MESURE(M) calculé =(MESURE(MARS-2005)+MESURE(MARS-2005)+...etc.....MESURE(FEVRIER-2006)
En fait MESURE calculée Mois M= MESURE M-11+MESURE M-10+MESURE M-9+MESURE M-8+MESURE M-7+MESURE M-6+MESURE M-5+MESURE M-4+MESURE M-3+MESURE M-2+MESURE M-1+MESURE M)
Merci encore pour votre soutien.
-- ALF
Tu crées une vue :
SELECT A.* , ( SELECT SUM(mesure) FROM maTable as B WHERE B.entite = A.entite and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ] between 0 and 11 ) as mesure_12m FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 ) N = 24074 - 24066 N = 8 mois
"ALF" a écrit dans le message de news:
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF
C'est exactement ce que synopsis et moi t'avons donné. Par contre; pour
trouver la correspondance des mois majuscules en mois nombre....
Re,
J'ai du mal expliquer mon problême et je m'en excuse...en fait il y a 3
champs ENTITE ,MOIS ,MESURE en sachant que le champs MOIS correspond à du
texte .par ex. JANVIER-2006 et le champs MESURE correspond à un montant
(valeur reel double)
lorque je parlais de "somme des 12 mois precedents" cela correspondait en
fait a la somme des 12 valeurs du champs "MESURE" correspondant aux 12 mois
precedant le mois M(M compris).----->en fait la somme de 12 montants sur le
champs MESURE.
ex: mois M= JANVIER-2006 MESURE= 400 (correspond à 400 euros).
FEVRIER-2005 MESURE= 200 MARS-2005 MESURE= 100 AVRIL-2005 MESURE= 500
MAI-2005 MESURE= 400 JUIN-2005 MESURE= 100 JUILLET-2005 MESURE= 800
AOUT-2005 MESURE= 500 SEPTEMBRE-2005 MESURE= 700 OCTOBRE-2005 MESURE= 600
NOVEMBRE-2005 MESURE= 400 DECEMBRE-2005 MESURE= 100
donc le champs calculé pour MESURE (JANVIER-2006)
=MESURE(FEVRIER-2005)+MESURE(MARS-2005)+MESURE(AVRIL-2005)+MESURE(MAI-2005)+MESURE(JUIN-2005)+MESURE(JUILLET-2005)+MESURE(AOUT-2005)+MESURE(SEPTEMBRE-2005)+MESURE(OCTOBRE-2005)+MESURE(NOVEMBRE-2005)+MESURE(DECEMBRE-2005)+MESURE(JANVIER-2006)= 4800
2eme ex:si mois M þVRIER-2006 MESURE(M) calculé
=(MESURE(MARS-2005)+MESURE(MARS-2005)+...etc.....MESURE(FEVRIER-2006)
En fait MESURE calculée Mois M= MESURE M-11+MESURE M-10+MESURE M-9+MESURE
M-8+MESURE M-7+MESURE M-6+MESURE M-5+MESURE M-4+MESURE M-3+MESURE M-2+MESURE
M-1+MESURE M)
Merci encore pour votre soutien.
--
ALF
Tu crées une vue :
SELECT
A.*
, (
SELECT SUM(mesure)
FROM maTable as B
WHERE B.entite = A.entite
and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ]
between 0 and 11
) as mesure_12m
FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 )
N = 24074 - 24066
N = 8 mois
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:0B65EBFB-9A8E-40DC-ABDE-12D9A4DEC093@microsoft.com...
Bonjour,
j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE
je voudrais creer un champs calculé dans une requete selection qui ferait
sur le mois M ,la somme des 12 mois precedents.
ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à
JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à
FEVRIER 2006...ETC...
Comment doit on s'y prendre???..faut il passer par une procedure via un
module ou existe t il une fonction speciale que l on mettrait directement
dans la requete via le mode "générer"???
Merci de votre soutien.
--
ALF
C'est exactement ce que synopsis et moi t'avons donné. Par contre; pour trouver la correspondance des mois majuscules en mois nombre....
Re, J'ai du mal expliquer mon problême et je m'en excuse...en fait il y a 3 champs ENTITE ,MOIS ,MESURE en sachant que le champs MOIS correspond à du texte .par ex. JANVIER-2006 et le champs MESURE correspond à un montant (valeur reel double) lorque je parlais de "somme des 12 mois precedents" cela correspondait en fait a la somme des 12 valeurs du champs "MESURE" correspondant aux 12 mois precedant le mois M(M compris).----->en fait la somme de 12 montants sur le champs MESURE. ex: mois M= JANVIER-2006 MESURE= 400 (correspond à 400 euros). FEVRIER-2005 MESURE= 200 MARS-2005 MESURE= 100 AVRIL-2005 MESURE= 500 MAI-2005 MESURE= 400 JUIN-2005 MESURE= 100 JUILLET-2005 MESURE= 800 AOUT-2005 MESURE= 500 SEPTEMBRE-2005 MESURE= 700 OCTOBRE-2005 MESURE= 600 NOVEMBRE-2005 MESURE= 400 DECEMBRE-2005 MESURE= 100
donc le champs calculé pour MESURE (JANVIER-2006) =MESURE(FEVRIER-2005)+MESURE(MARS-2005)+MESURE(AVRIL-2005)+MESURE(MAI-2005)+MESURE(JUIN-2005)+MESURE(JUILLET-2005)+MESURE(AOUT-2005)+MESURE(SEPTEMBRE-2005)+MESURE(OCTOBRE-2005)+MESURE(NOVEMBRE-2005)+MESURE(DECEMBRE-2005)+MESURE(JANVIER-2006)= 4800
2eme ex:si mois M þVRIER-2006 MESURE(M) calculé =(MESURE(MARS-2005)+MESURE(MARS-2005)+...etc.....MESURE(FEVRIER-2006)
En fait MESURE calculée Mois M= MESURE M-11+MESURE M-10+MESURE M-9+MESURE M-8+MESURE M-7+MESURE M-6+MESURE M-5+MESURE M-4+MESURE M-3+MESURE M-2+MESURE M-1+MESURE M)
Merci encore pour votre soutien.
-- ALF
Tu crées une vue :
SELECT A.* , ( SELECT SUM(mesure) FROM maTable as B WHERE B.entite = A.entite and [ (B.annee * 12 + B.mois) - (A.annee * 12 + A.mois) ] between 0 and 11 ) as mesure_12m FROM maTable as A
N.B. : Nombre de mois entre 2 dates
Exemple : Juin 2005 et Février 2006
N = (2006 * 12 + 2 ) - (2005 * 12 + 6 ) N = 24074 - 24066 N = 8 mois
"ALF" a écrit dans le message de news:
Bonjour, j'ai une table contenant 4 champs: ENTITE, MOIS, ANNEE ,MESURE je voudrais creer un champs calculé dans une requete selection qui ferait sur le mois M ,la somme des 12 mois precedents. ex pour JANVIER 2006 ,je voudrais la somme de FEVRIER 2005 à JANVIER-2006..pour FEVRIER-2006,cela doit être la somme de MARS 2005 à FEVRIER 2006...ETC... Comment doit on s'y prendre???..faut il passer par une procedure via un module ou existe t il une fonction speciale que l on mettrait directement dans la requete via le mode "générer"??? Merci de votre soutien. -- ALF