Bonjour,
J'ai la table suivante :
Je souhaite faire 2 choses :
- je souhaite, pour chaque jour et par fiche, faire un cumul de la colonne "feed_lisse7j", toujours à partir du 1er jour (23/11/2018).
Par exemple, pour le 26/11/2018, j'aurais la somme "feed_lisse7j" du 23/11/2018 + 24/11/2018 + 25/11/2018 + 26/11/2018 : soit 6756 au total.
et ainsi de suite pour chaque jour.
pour cela, j'ai mis le code suivant :
--> mon problème est que je n'arrive pas à lui déclarer qu'il prenne toujours la 1ère date. il me met une erreur de syntaxe sur t1.first.date
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 proc sql; create table Feed_Cum as select distinct t1.fiche, t1.date, t1.feed_lisse7j, t1.age, sum (t2.feed_lisse7j) as feed_cum from feed_lisse2 t1 left join feed_lisse2 t2 on (t1.fiche = t2.fiche and t2.date between t1.first.date and t1.date) group by 1,2,3; quit;
--> sinon, Est-ce que le code semble bon ?
- 2ème point, toujours sur la même table, je souhaite, pour chaque jour et par fiche, faire une soustraction de la colonne "feed_lisse7j", toujours à partir du 1er jour (23/11/2018).
Par exemple, pour le 26/11/2018, je veux faire la soustraction de "feed_lisse7j" : 26/11/2018 - 23/11/2018
et ainsi de suite pour chaque jour.
pour cela, j'ai mis le code suivant :
--> je ne sais pas si le code est correcte pour faire une soustraction ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 proc sql; create table Feed_Cum as select distinct t1.fiche, t1.date, t1.feed_lisse7j, t1.age, sum (t2.feed_lisse7j - t2.feed.lisse7j) as feed_cum from feed_lisse2 t1 left join feed_lisse2 t2 on (t1.fiche = t2.fiche and t2.date between t1.first.date and t1.date) group by 1,2,3; quit;
--> j'ai le même problème de syntaxe. je ne sais pas comment lui déclarer qu'il reparte toujours de la 1ère date ?
Merci de votre aide !!
Partager