Bonjour à tous,
j'ai une question vraiment basique de programmation SAS mais je la pose quand même.
Je dispose d'une table SAS avec les données suivantes :
ISIN ;LIBELLE ;EMETTEUR ;RATING
FR0001 ;BNP PARIBAS 5% 02/2020 ;BNP PARIBAS ;AA
FR1526 ;BNP PARIBAS TV 08/2015 ;BNP PARIBAS ;#NA#
FR2589 ;BNP PARIBAS 3,5% 03/2012 ;BNP PARIBAS ;AA
FR1452 ;ALCATEL 3,5% 06/2015 ;ALCATEL ;A
FR8459 ;ALCATEL 5,5% 05/2017 ;ALCATEL ;#NA#
J'ai un problème avec les données sources et pour certains titres, le rating est mis à #NA# alors qu'il devrait être renseigné.
Mon objectif est de disposer de la base des emetteurs avec les bons ratings donc classer cette base par les emetteurs.
Un PROC SORT by EMETTEUR ascending devrait faire l'affaire pour classer cela même si les doublons sur les ratings seront peut-être un problème déjà au niveau de la PROC SORT...
Là où j'ai un problème c'est pour corriger les #NA# qui apparaisse. Il faut que j'écrive à SAS que :
* si EMETTEUR(i+1)= EMETTEUR (i)
* et que RATING de l'émetteur (i+1) = #NA#,
ALORS il faut mettre dans RATING de l'émetteur (i+1) le AA qui est RATING de l'émetteur (i) .
Il est même possible que le #NA# apparaisse en première ligne et donc qu'il faille inverser...Exemple...
ISIN ;LIBELLE ;EMETTEUR ;RATING
FR0001 ;BNP PARIBAS 5% 02/2020 ;BNP PARIBAS ;#NA#
FR1526 ;BNP PARIBAS TV 08/2015 ;BNP PARIBAS ;AA
FR2589 ;BNP PARIBAS 3,5% 03/2012 ;BNP PARIBAS ;AA
FR1452 ;ALCATEL 3,5% 06/2015 ;ALCATEL ;#NA#
FR8459 ;ALCATEL 5,5% 05/2017 ;ALCATEL ;A
Je débute en programmation SAS et l'écriture de ce bout de code qui est a priori simple (en tous cas en VBA même avec des cells(i,j)) ne me semble pas aisé.
Merci d'avance de vos réponses.
JoE.
Partager