Bonjour,
voici le problème : J'ai une table contenant 3 champs au départ : maturite_oop (date) , maturite_fut (date) et prix fut (numérique) dont les valeurs ne sont pas continues et un champ rassemblant toutes ces dates maturity de manière unique et numlo: numero de ligne de maturite_oop ;
Voici le jeu de données:
Je cherche à déterminer et sauvegarder pour chaque maturite_oop, les valeurs immédiatement inférieure et supérieure de maturite_fut (dt_inf et dt_sup) , et le prix_fut correspondant (prix_inf, prix_sup) .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 data interpolation ; input maturity_date maturite_oop numlo maturite_fut prix_fut ; cards; 20160601 20160601 1 . . 20160701 20160701 2 20160701 100 20160801 20160801 3 . . 20160901 20160901 4 . . 20161001 20161001 5 20161001 98 20161015 . . 20161015 95 20161101 20161101 6 . . 20161201 20161201 7 . . ; run;
Le résultat attendu est en PJ avec données initiales en jaune (si problème de mise en page) et ci dessous
Resultat attendu.xls
maturity_date maturite_oop maturite_fut prix_fut dt_inf prix_inf dt_sup prix_sup
20160601 20160601 . . . . 20160701 100
20160701 20160701 20160701 100 . . 20161001 98
20160801 20160801 . . 20160701 100 20161001 98
20160901 20160901 . . 20160701 100 20161001 98
20161001 20161001 20161001 98 20160701 100 20161015 95
20161015 . 20161015 95 . . . .
20161101 20161101 . . 20161015 95 . .
20161201 20161201 . . 20161015 95 . .
J'ai essayé avec une boucle sur la maturite_oop et la fonction lag avec tri dans les 2 sens pour borner ma valeur de maturite_oop mais les trous de valeur sont fatals au résultat attendu.Je n'arrive pas à maintenir la valeur "précédente" tant qu'il y a un manque. Je ne sais pas si je suis claire...
Ci joint un bout du programme qui bien sûr ne permet pas d'obtenir le résultat attendu, pour les divers cas qui m'occupe (données initiales).
Auriez vous une idée pour encadrer ces dates de maturite_oop de manière sûre car là je suis paumée après tous les essais déjà effectués et je ne suis pas une pro de SAS?
D'avance merci de votre aide.
Partager