Proc sql condition sur variable date
Bonjour,
Je travaille sue SAS EG et je rencontre un problme assez étrange.
A partir de ma table source STATPROD.HISTORIQUE , je créé la table WORK.TMP_HISTORIQUE :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
data STATPROD.tmp_historique ;
set STATPROD.HISTORIQUE ;
ATTRIB to_char_GROUPS_CODE format = $50.;
to_char_groups_code = GROUPS_CODE ;
ATTRIB to_number_HI_STR3 format = 12.0;
to_number_HI_STR3 = HI_STR3 ;
run; |
ceci marche sans problème : aucune perte de données, formta des variables identiques etc.
Ensuite, j'exécute cette requête sur WORK.TMP_HISTORIQUE*
Code:
1 2 3 4 5 6
|
%let P_DAT_DEB_AF_DATE_CREA = '01DEC2011:15:15:15'd ;
%let P_DAT_FIN_AF_DATE_CREA = '01JAN2012:15:15:15'd ;
Proc sql;
Create table work.titi as select * from */*STATPROD.HISTORIQUE*/ work.tmp_historique A where (A.date < &P_DAT_FIN_AF_DATE_CREA) *AND *(A.date >= &P_DAT_DEB_AF_DATE_CREA) ;
quit; |
Cette requê me renvoi un resultat vide quand je lexecute sur work.tmp_historique et fonctionne très bien quand je l'execute sur STATPROD.HISTORIQUE.
AUriez vous une idée d'où ceci peut venir ? Et comment y remédier ?
A noter, je suis obligé de passer par cette table intermédiaire pour la conversion des deux colonnes en CHAR et en NUMERIC.
En vous remerciant