Moyenne annuelle à partir d'une date/access

kuiz -  
 kuiz -
Bonjour,

je souhaite effectuer un coût moyen d'exploitation sur un an à partir d'une date de mise en service d'un appareil.

Je dispose de toutes les entrées correspondant à des dépenses sur chaque appareil.
J'aimerais, sous access,créer une requête (ou une table?!) qui indique pour chaque appareil(identifié par un numéro) ce qu'i a coûté la première année de son exploitation, la deuxième etc...
Il me semble falloir incrémeter la date de mise en service d'un an, compter le nombre d'interventions faites sur l'appareil dans cet intervalle, calculer la somme des dépenses et recommencer ainsi pour la deuxième année, la troisième etc..
Quelqu'un aurait-il une idée, une solution à ce problème?
d'avance je vous remercie !!

4 réponses

Jean_Jacques Messages postés 1048 Statut Membre 112
 
Bonjour kuiz,

Cette requête permet de répondre à une partie de votre question.

SELECT DatePart("yyyy",[<Champ_Date>]) AS [DATE], <Table.Champ>, Count(<Table.Champ>) AS CompteDeChamp
FROM <Table>
GROUP BY DatePart("yyyy",[<Champ_Date>]), <Table.Champ>,
HAVING (((DatePart("yyyy",[<Champ_Date>])) Like [Année ?]))
ORDER BY <Table.Champ>;

Par contre je ne vois pas bien comment calculer (Pas du tout à vrai dire) la moyenne dans ce contexte ...
Un autre intervenant comblera sans doute notre ignorance dans les prochaines heures ...

Cordialement
0
kuiz
 
merci pour cette réponse rapide Jean Jacques,
le problème est que je ne dispose que de la date de mise en service de chaque appareil, il faut alors que je génère des intervalles d'un an jusqu'à la date d'aujourd'hui. Dans chacun de ces intervalles, il me faut sommer les coûts des différentes interventions qui ont eu lieu sur les appareils.
un exemple peut être utile:

Un appareil A a été mis en service le 01/01/1999, jusqu'à aujourd'hui il a subit disons 10 interventions, chacune à une date donnée.
il faut alors compter combien de ces interventions ont eu lieu ( et sommer leur coût associé) du 01/01/1999 au 01/01/2000, du 01/01/2000 au 01/01/2001...jusqu'au 01/01/2009.

j'espère que ces explications sont plus explicites!
0
Jean_Jacques Messages postés 1048 Statut Membre 112
 
Bonsoir kuiz,

Merci de m'envoyer ton fichier de données au format Excel 2000, afin que je puisse faire un essai en réel ...
Tu le dépose sur le site nommé CIJOINT et tu refais un post en y collant le lien qui te sera communiqué.

A+
0
Jean_Jacques Messages postés 1048 Statut Membre 112
 
Bonjour kuiz,

Voici un premier brouillon. Suis-je sur la bonne voie ?

SELECT DatePart("yyyy",[MISE_EN_SE]) AS [DATE], SUIVI.IDENT, Sum(SUIVI.COUT) AS [Cout total], Count(SUIVI.COUT) AS [Nombre de passages]
FROM SUIVI
GROUP BY DatePart("yyyy",[MISE_EN_SE]), SUIVI.IDENT
ORDER BY DatePart("yyyy",[MISE_EN_SE]), SUIVI.IDENT, Sum(SUIVI.COUT);

Cordialement
0
kuiz
 
Merci beaucoup, je pense que c'est une très bonne base de travail, une bonne voie!
Je vais pouvoir reprendre la main,encore merci
0
Jean_Jacques Messages postés 1048 Statut Membre 112
 
Bonsoir kuiz,

Merci pour le retour d'information.
Avant de conclure, j'ai ajouté un champ virtuel qui calcule le montant du coût moyen de chaque passage, soit :([coût cumulé]/[Nbre de passage cumulé])

SELECT DatePart("yyyy",[MISE_EN_SE]) AS [DATE], SUIVI.IDENT, Sum(SUIVI.COUT) AS [Cout total], Count(SUIVI.COUT) AS [Nombre de passages], round(Sum([SUIVI].[COUT])/Count([SUIVI].[COUT]),3) AS [Moyenne arrondie]
FROM SUIVI
GROUP BY DatePart("yyyy",[MISE_EN_SE]), SUIVI.IDENT
ORDER BY DatePart("yyyy",[MISE_EN_SE]), SUIVI.IDENT, Sum(SUIVI.COUT);

SVP : Merci de clore ce dossier, s'il y a lieu.

Au plaisir
Cordialement
0
kuiz
 
Très bien,
merci de votre large contribution, je vais clore le dossier si toutefois j'y parviens!
bonne continuation!
0