Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 27/02/2013, 16h11   #1
idhmida
Invité régulier
 
Inscription : mai 2012
Messages : 32
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 32
Points : 6
Points : 6
Par défaut Importer des fichiers txt

Bonjour le forum,

Je souhaiterais importer un fichier txt avec les variables :
- date
- consommation journalières toutes les 10 minutes de 0:00 jusqu'à 24:00
- day
- month
- weekly

le fichier texte est de cette forme(vous trouverez le fichier txt en PJ) :

date 0:00 0:20 ...... 24:00 day month weekly
2007-12-02 1 2 ....... 0 2 12 0
2007-12-05 5 7 ........ 0 2 12 0

j'ai utilisé ce code qui ne marche pas :
Code :
1
2
3
4
5
6
7
 
PROC IMPORT OUT = toto
DATAFILE = 'l'emplacement du fichier.txt'
DBMS = DLM REPLACE; 
DELIMITER = '09'x; 
GETNAMES = YES; 
RUN;
quelqu'un pourrait m'aider svp
merci beaucoup !!

P.S : dsl pour l'oubli, le delimiter est l'espace
Fichiers attachés
Type de fichier : txt toto.txt (5,9 Ko, 2 affichages)
idhmida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 16h18   #2
s_a_m
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 320
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 320
Points : 2 561
Points : 2 561
Hello,

Quel est ton délimiteur ? le '09'x correspond à la tabulation.
il te faut l'option validvarname pour lire le nom de tes variables

Enfin, quel est le message d'erreur que t'as obtenu ?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 16h32   #3
s_a_m
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 320
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 320
Points : 2 561
Points : 2 561
Essaie avec :

Code :
1
2
3
4
5
6
PROC IMPORT OUT = toto
DATAFILE = 'l'emplacement du fichier.txt'
DBMS = DLM REPLACE; 
DELIMITER = ''; 
GETNAMES = YES; 
RUN;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/02/2013, 16h47   #4
idhmida
Invité régulier
 
Inscription : mai 2012
Messages : 32
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 32
Points : 6
Points : 6
Merco beaucoup s_a_m !! ça marche parfaitement
idhmida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 16h51   #5
idhmida
Invité régulier
 
Inscription : mai 2012
Messages : 32
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 32
Points : 6
Points : 6
Euh.... petite question supplémentaire, le proc import a bien marché mais mes variables sont affichés comme suit :

date _0_00 _0_10 _0_20 etc.

au lieu de :

date 0:00 0:10 0:20 etc.

ça n'a aucun impact sur le traitement de données mais je voudrais juste savoir si c'est normale que SAS a modifié " : " en " - "

Merci beaucoup encore !!!
idhmida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 17h04   #6
s_a_m
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 320
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 320
Points : 2 561
Points : 2 561
Oui c'est normal,
SAS transforme les caractères non acceptés par des caractères acceptables par SAS.

si tu veux garder tes variables tel quels , il faudrait que tu passes par une étape data , lister le nom de tes variables dans un INPUT de cette façon :
Code :
1
2
3
4
5
6
 
 
OPTION validvarname=ANY;
 
DATA ;
input "00:00"n ....
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h02.


 
 
 
 
Partenaires

Hébergement Web