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 11/03/2011, 15h47   #1
Membre régulier
 
Homme Olivier Caelen
Inscription : août 2007
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme Olivier Caelen
Localisation : Belgique

Informations forums :
Inscription : août 2007
Messages : 68
Points : 81
Points : 81
Par défaut Cherche informat pour DATETIME

Bonjour ,
Je suis nouveau dans SAS et je suis un peux perdu là... j’ai quelque problèmes avec un informat.
Je cherche à lire des dates de ce type :

2010-03-13 16:37:56
2010-03-18
2010-03-14 18:19:05
2010-03-08 12:00:00
2010-03-17

Donc parfois j’ai le time mais pas toujours. Pourriez-vous svp m’aider à trouver le bon informat ?
Un grand merci d'avance!
hoccha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 16h27   #2
Membre Expert
 
Inscription : mars 2005
Messages : 1 010
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 010
Points : 1 258
Points : 1 258
Envoyer un message via Yahoo à bahraoui
bonjour,

Je pense qu'il faut créer une variable date et une variable time, après tu peux recréer une variable de type datetime à partir des deux variables créées avant.
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 16h43   #3
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
ANYDTDTMw.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 16h46   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
sorry

utilises plutôt substr pour extraire la date sans les time ;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 18h14   #5
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DATA TEST;
	INPUT date  $1-11 time $12-20;
	date2=MDY
	( INPUT(substr(date,6,2),BEST.),
	  INPUT(substr(date,9,2),BEST.),
	  INPUT(substr(date,1,4),BEST.));
	FORMAT date2 date.;
	IF time='' THEN time='00:00:00';
	datetime=INPUT(PUT(date2,date.)!!":"!!time,DATETIME.);
	FORMAT datetime DATETIME.;	
DATALINES;
2010-03-13 16:37:56
2010-03-18
2010-03-14 18:19:05
2010-03-08 12:00:00
2010-03-17 
;
RUN;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 19h00   #6
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
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 467
Points : 2 823
Points : 2 823
Citation:
Envoyé par s_a_m Voir le message
ANYDTDTMw.
Pourquoi te rétracter Sam ? Ca fonctionne très bien avec cet informat, en le faisant précéder des : pour dire que c'est sur 20 caractères au maximum...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
OPTION DATESTYLE=YMD ;
DATA work.test ;
  INFILE DATALINES DLM="," ;
  INPUT dt :ANYDTDTM20. ;
  FORMAT dt DATETIME. ;
DATALINES ;
2010-03-13 16:37:56
2010-03-18
2010-03-14 18:19:05
2010-03-08 12:00:00
2010-03-17 
;
RUN ;
PROC PRINT ;
RUN ;
Et sinon Brice, pour ta solution, on peut quand même faire un poil plus simple avec des fonctions INPUT. (Et comme ça, partir en week-end plus vite.)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DATA TEST;
input date  $1-11 time $12-20 ;
datetime = INPUT(date,YYMMDD10.) * 24 * 60 * 60 ;
IF time NE "" THEN datetime = datetime + INPUT(time,TIME8.) ;
FORMAT datetime DATETIME. ;
cards;
2010-03-13 16:37:56
2010-03-18
2010-03-14 18:19:05
2010-03-08 12:00:00
2010-03-17 
;
run;
PROC PRINT ;
RUN ;
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/03/2011, 20h43   #7
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 09h50   #8
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
Citation:
Envoyé par olivier.decourt Voir le message
Pourquoi te rétracter Sam ? Ca fonctionne très bien avec cet informat, en le faisant précéder des : pour dire que c'est sur 20 caractères au maximum...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
OPTION DATESTYLE=YMD ;
DATA work.test ;
  INFILE DATALINES DLM="," ;
  INPUT dt :ANYDTDTM20. ;
  FORMAT dt DATETIME. ;
DATALINES ;
2010-03-13 16:37:56
2010-03-18
2010-03-14 18:19:05
2010-03-08 12:00:00
2010-03-17 
;
RUN ;
PROC PRINT ;
RUN ;
Bonjour Olivier;
DLM="," le CODE ne marche pas et avec un DLM= " ", l'heure est : 00:00:00, d'où le subsrt pour extraire les dates et l'geure et concatiner par la suite et j'opte pour ta deuxième solution.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 09h56   #9
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Citation:
Envoyé par s_a_m Voir le message
Bonjour Olivier;
DLM="," le CODE ne marche pas et avec un DLM= " ", l'heure est : 00:00:00, d'où le subsrt pour extraire les dates et l'geure et concatiner par la suite et j'opte pour ta deuxième solution.
J'ai testé sur la V9.2 ça marche et non sur V9.1, faut vivre avec son temps Sam
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 10h05   #10
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
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 006
Points : 1 703
Points : 1 703
Dans pas longtemps.

par contre reste à savoir quelle version hoccha utilise, d'où le substr qui fonctione de la 6.2 ----> 9.2
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 10h06   #11
Membre régulier
 
Homme Olivier Caelen
Inscription : août 2007
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme Olivier Caelen
Localisation : Belgique

Informations forums :
Inscription : août 2007
Messages : 68
Points : 81
Points : 81
Merci!!!
hoccha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 10h13   #12
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Citation:
Envoyé par s_a_m Voir le message
Dans pas longtemps.

par contre reste à savoir quelle version hoccha utilise, d'où le substr qui fonctione de la 6.2 ----> 9.2
Qu'il fasse son choix en fonction de sa version et de la complexité du code (je raconte n'importe quoi, quelle complexité )
MEGAMIND2 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 00h18.


 
 
 
 
Partenaires

Hébergement Web