Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Débutez
Débutez Forum concentrant les premières questions que l'on se pose en tant que débutant
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 29/11/2011, 22h21   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2004
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 78
Points : 13
Points : 13
Par défaut datepart(Datetime) : 01JAN1960

Bonsoir,

encore une question concernant les dates sous SAS.
J'ai importé un fichier excel avec une "date de traitement". Cette date contient la date et l'heure de traitement.
A partir de cette date, je veux créer une nouvelle var qui ne contient QUE la date...
Code :
1
2
3
4
5
6
DATA tt;
SET tt;
format new_var date9.;
informat new_var date9.;
new_var=datepart(date_traitement);
run;
Pb : j'obtiens que des 01JAN1960. Je sais que c la date de référence de SAS.
Question : pourquoi le datepart ne fonctionne pas ici. Est-ce parceque date_traitement est de format date9. et informat date9.
Ou alors faut-il définir un autre format pour new_var???
J'ai essayé avec "input" ca fonctionne pas.
J'ai une solution avec mdy...mais aimerais trouver qqchose de plus "direct".

MErci pour votre aide
ALLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 09h24   #2
Candidat au titre de Membre du Club
 
Inscription : juillet 2004
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 78
Points : 13
Points : 13
J'ai trouvé:
Code :
1
2
3
4
5
DATA tt;
SET tt;
format new_var ddmmyy10.;
new_var =input(put(date_traitement,DDMMYY10.),DDMMYY10.);
run;
Et du coup new_var est bien reconnu comme une date (mais sans heure, min...)
ALLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 09h32   #3
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
hello;
elles sont sous quelles formats tes dates que t'as importé?(char? datetime? );
si tes tes variables sont de type char il faut les transformer en numerique c-a-d en datetime.
dans cet exemple il m'extrait bien la date.

Code :
1
2
3
4
5
6
7
8
9
10
 
 
DATA _null_;
date_heure = '30NOV2011:09:30:55'dt;
date = datepart(date_heure);
heure = timepart(date_heure);
put date_heure datetime.;
put  date date9.;
 
run;
s_a_m 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 00h36.


 
 
 
 
Partenaires

Hébergement Web