Je prend la suite même si le sujet est ancien.
Si on prend un peu de recul, on se dit alors qu'il n'est pas intéressant d'avoir les VAR1, ... , VAR250 dans la même table que les Montants non groupés.
J'aurai fait 2 tables :
Une première (TABLE1) avec ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8 et les montants.
Celle ci j'aurai pu ensuite l'utiliser comme cela :
proc sql; select ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8, sum(Montant1), sum(Montant2) from Fusion group by ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8;
pour créer une TABLE1BIS , groupement de TABLE1.
La deuxième (TABLE2) serait ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8 , VAR1, ... , VAR250
NOTE : TABLE2 correspond à
proc sql; select distinct ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8, VAR1, ... , VAR250 from Fusion;
Et au final, je peux ensuite créer une TABLE3 ( ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8, VAR1, ... , VAR250, MONTANT1_SOMME, MONTANT2_SOMME ) en joignant TABLE1BIS et TABLE2 , par les ID.
EDIT : J'ajoute que la piste des update est désastreuse en terme de performance. Il peut arriver qu'on s'en serve dans certains besoins complexes, mais ce n'est pas utile ici.
Partager