Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 13h30   #1
Invité de passage
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : mars 2011
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : mars 2011
Messages : 23
Points : 3
Points : 3
Par défaut 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
walooze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 13h34   #2
Membre expérimenté
 
Inscription : avril 2009
Messages : 538
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 538
Points : 541
Points : 541
ben il y a beaucoup d'étoiles : *

pourquoi?

X
xav2229 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 13h46   #3
Invité de passage
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : mars 2011
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : mars 2011
Messages : 23
Points : 3
Points : 3
Le proxy de mon navigateur ne me permet pas de poster sur le forum.
J ai du passer par mon téléphone portable pour poster ce message. Il s agit juste de coquilles dues a la manip. La seule étoile a prendre en compte est celle de la clause Select. Desolé pour les erreurs de manip :p
walooze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 13h54   #4
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 471
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 471
Points : 2 834
Points : 2 834
Citation:
Envoyé par walooze Voir le message
Code :
1
2
3
 
%let P_DAT_DEB_AF_DATE_CREA = '01DEC2011:15:15:15'd ;
%let P_DAT_FIN_AF_DATE_CREA = '01JAN2012:15:15:15'd ;
d ou dt à la fin de tes datetimes ? Est-ce que c'est aussi une coquille de ton téléphone ou un oubli dans le code ? Dans ce dernier cas, je pense que DT s'impose pour espérer un résultat correct.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/01/2012, 14h06   #5
Invité de passage
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : mars 2011
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : mars 2011
Messages : 23
Points : 3
Points : 3
Je viens de tester avec dt et cela fonctionne . Merci bcp.

Saurais tu pk ce marchait bien ac d dans ma librairie Statprod et pk cela ne fonctionnait pas Ds mon work ?
walooze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 15h38   #6
Membre Expert
 
Inscription : mars 2005
Messages : 1 016
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 016
Points : 1 264
Points : 1 264
Envoyer un message via Yahoo à bahraoui
d pour date (YYYYMMDD)
dt pour un datetime (date + temps) (YYYYMMDD:HH:MM:SS)
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 16h20   #7
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 471
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 471
Points : 2 834
Points : 2 834
Peut-être parce que STATPROD n'est pas une bibliothèque SAS mais une base de données externe (Oracle, DB2, etc.) déguisée en bibliothèque ? Dans ce cas, il y aura une étape supplémentaire de traduction opérée par SAS entre ta requête et la base de données. Par contre, dans WORK, SAS bosse en direct et peut ne pas interpréter les choses à l'identique.
Ce n'est qu'une hypothèse.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h09.


 
 
 
 
Partenaires

Hébergement Web