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 07/04/2011, 09h54   #1
Invité de passage
 
Inscription : mars 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 21
Points : 3
Points : 3
Par défaut Obtenir la longueur maximale d'une ligne

Bonjour tout le monde!!

J'ai un fichier texte que j'aimerais importer sous sas et qui contient des lignes de longueurs variables.
Est-ce que quelqu'un sait comment on fait pour obtenir la longueur de la ligne la plus grande??!!
Jack_nicholson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 10h43   #2
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
Bonjour,
essaies ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
DATA _null_;
	length ligne $10000;
	retain minlrecl 0
		maxlrecl 0;
	INFILE 'c:\mon_fic.txt' length=lenvar end=fin;
	input @1 ligne $varying. lenvar;
	minlrecl = min(minlrecl,length(ligne));
	maxlrecl = max(maxlrecl,length(ligne));
 
	IF fin then
		put minlrecl= maxlrecl=;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 12h44   #3
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
Si je peux me permettre de simplifier légèrement le code de S A M :
Code :
1
2
3
4
5
6
7
8
9
10
11
DATA _null_;
	retain minlrecl 0
		maxlrecl 0;
	INFILE 'c:\mon_fic.txt' LRECL=10000 end=fin;
	input ;
	minlrecl = min(minlrecl,length(_infile_));
	maxlrecl = max(maxlrecl,length(_infile_));
 
	IF fin then
		put minlrecl= maxlrecl=;
run;
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 15h53   #4
Invité de passage
 
Inscription : mars 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 21
Points : 3
Points : 3
Ok merci les gars, c'est nickel!!!
Jack_nicholson 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 05h47.


 
 
 
 
Partenaires

Hébergement Web