Le forum du Master ESA économétrie et statistique appliquée - Université d'Orléans

Vous n'êtes pas identifié.

Annonce

Vous êtes sur le forum du master ESA !

Le site du master ESA - description de la formation, notes de cours, contacts... vient de déménager !!!

Venez visiter notre nouveau site : www.master-esa.fr

#1 02-07-2009 15:35:30

madagascar
membre extérieur
Date d'inscription: 02-07-2009
Messages: 4

conversion table excel en SAS

SVP quelqu'un sait-il quelle est la procédure pour convertir un tableau excel comprenant 300 observations et environ autant de variables en table sas? J'ai enregistré mon fichier excel en .csv avant de faire une proc import dans sas mais résultat non concluant avec points virgules partout. Merci de votre aide.

Hors ligne

 

#2 02-07-2009 18:04:10

alaa-eddine
Member
Date d'inscription: 07-03-2007
Messages: 398

Re: conversion table excel en SAS

Peux-tu poster ton programme SAS ( proc import ) avec la log éventuellement ?

Hors ligne

 

#3 02-07-2009 18:39:14

esa_ch
Moderator
Date d'inscription: 21-02-2007
Messages: 1415

Re: conversion table excel en SAS

De grâce, aidez mon ex-collègue, super sympa. Je lui ai dit que c'était dans ce master que l'on trouvait les champions de SAS....

Hors ligne

 

#4 02-07-2009 19:04:47

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: conversion table excel en SAS

peuh ! trop facile comme question....

je vous propose une réponse sport !

j'ai crée sur mon pc un fichier excel organisé comme suit :
- sur la première ligne, le nom de la variable
- et ensuite, les observations

ensuite :

Code:

libname test excel 'C:\Users\Sébastien\Documents\aimporter.xls';

proc contents data=test._all_;
run;

data toto;
set TEST.'Feuil1$'n;
run;

le PROC CONTENTS a pour objectif de voir le nom de la première feuille excel (là ou sont mes données) : le nom est donc 'Feuil1$'n

et dans la table toto, j'ai exactement la copie (en table SAS) de mon fichier Excel !

(tout ceci est expliqué dans une note de bas de page (la n°3), page 25 d'un excellent ouvrage sur SAS que je recommande personnellement.....)

a+

SR

Hors ligne

 

#5 02-07-2009 19:33:42

esa_ch
Moderator
Date d'inscription: 21-02-2007
Messages: 1415

Re: conversion table excel en SAS

Madagascar, je t'avais bien dit que c'était un master de champions du monde !!!

Hors ligne

 

#6 02-07-2009 20:05:54

madagascar
membre extérieur
Date d'inscription: 02-07-2009
Messages: 4

Re: conversion table excel en SAS

Merci esa_sr j'y ai cru mais toujours pas concluant. Message d'erreur après le libname : Le moteur EXCEL est introuvable.
ERREUR: Erreur dans l'instruction LIBNAME.
170  run;

Hors ligne

 

#7 02-07-2009 20:33:47

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: conversion table excel en SAS

pas de moteur excel ?

mais quelle version de SAS avez-vous ?

la 6.12 ? 8.2 ?

Hors ligne

 

#8 02-07-2009 20:56:40

madagascar
membre extérieur
Date d'inscription: 02-07-2009
Messages: 4

Re: conversion table excel en SAS

Merci de votre réponse. J'ai la version 9.1.

Hors ligne

 

#9 02-07-2009 21:19:15

gang
Member
Lieu: Orleans
Date d'inscription: 05-03-2007
Messages: 324

Re: conversion table excel en SAS

Il y a bien d'autres manieres sans taper de code vous pouvez exporter votre table excel directement en allant dans le menu  fichier------> puis vs avez le menu exporter et importer qui vous permet de creer une table sas à partir d'une table excel et vice versa transformer une table sas en excel....
c'est une solution si vous voulez par taper des codes sas

Hors ligne

 

#10 02-07-2009 21:21:45

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: conversion table excel en SAS

c'est étrange cette absence du moteur excel... il faut que je vérifie la version qui, la première, a bénéficié de ce moteur.

bon en attendant, le module d'importation (fichier / importer) doit gérer le fichier excel sans problème.

sinon, à partir d'un CVS (mais il faut déjà retirer le nom des variables de la première ligne et retirer la première ligne), ça ne pose pas de réel problème :

Code:

data toto;
infile 'C:\Users\Sébastien\Documents\aimporter.csv' dlm=';';
input (x1 x2 x3) (:numx.) ;
run;

le DLM indique que le séparateur de modalité est le ;
ensuite, dans excel, le séparateur décimal est la virgule et SAS n'aime pas ça (puisque le séparateur décimal par défaut pour SAS, c'est le point).

Pour demander l'interprétation de la virgule comme une séparateur décimal, il faut le spécifier au moyen d'un INFORMAT numx.

par contre, si le fichier excel contient des variables alphanumériques, les choses peuvent devenir plus longues à écrire..

a+

SR

Hors ligne

 

#11 02-07-2009 22:57:31

alaa-eddine
Member
Date d'inscription: 07-03-2007
Messages: 398

Re: conversion table excel en SAS

Si si je confirme ! le moteur EXCEL ne figure pas sur certaines versions (La mienne par exemple depuis on m'a installer l'access to ODBC), par contre les export vers excel avec l'ods markeup fonctionnent !

Sinon essayez ceci :

PROC IMPORT
  datafile= 'C:\Users\Sébastien\Documents\aimporter.csv'
  out=mylib.data
  dbms=csv
  replace;
delimiter=','; /*ou delimiter=';';*/
getnames=yes ;
run;

Hors ligne

 

#12 03-07-2009 13:05:47

madagascar
membre extérieur
Date d'inscription: 02-07-2009
Messages: 4

Re: conversion table excel en SAS

Merci pour tous vos conseils. esa_ch a raison: vous êtes des champions de sas et je saurais désormais vers qui me tourner en cas de problèmes!

Hors ligne

 

#13 15-03-2013 04:51:53

r.jules
membre extérieur
Date d'inscription: 15-03-2013
Messages: 3

Re: conversion table excel en SAS

Bonjour à tous,
J'ai essayé le code de esa_sr déjà cité ci-dessus:

data toto;
infile 'C:\Users\Sébastien\Documents\aimporter.csv' dlm=';';
input (x1 x2 x3) (:numx.) ;
run;

Cela fonctionne mais un bon nombre de valeurs numériques et caractères que j'ai dans Excel sont remplacés par des points une fois arrivés dans SAS. Pouvez-vous m'aider SVP

Je suis un ami de madagascar

Hors ligne

 

#14 15-03-2013 04:53:02

r.jules
membre extérieur
Date d'inscription: 15-03-2013
Messages: 3

Re: conversion table excel en SAS

Rectification: j'ai utilisé celui-ci

libname test excel 'C:\Users\Sébastien\Documents\aimporter.xls';

proc contents data=test._all_;
run;

data toto;
set TEST.'Feuil1$'n;
run;

Hors ligne

 

#15 15-03-2013 07:12:26

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: conversion table excel en SAS

à coup sûr, vous avez des colonnes qui contiennent des données mixtes : des chiffres et des chaines de caractères...

solutions possibles :
soit vous travaillez votre excel pour avoir des colonnes uniformes (uniquement des chiffres ou uniquement des caractères)
soit vous utilisez l'option MIXED=yes de l'instruction globale LIBNAME (à placer avec le chemin DOS vers votre fichier excel)

Hors ligne

 

#16 27-03-2013 15:27:45

r.jules
membre extérieur
Date d'inscription: 15-03-2013
Messages: 3

Re: conversion table excel en SAS

Bonsoir,

Merci pour votre réponse. J'ai essayé les deux solutions. MIXED=yes n'a pas fonctionné. Par contre j'ai uniformisé les cellules de Excel (clic droit> format de cellule> standard) et j'ai bien toutes mes données une fois arrivé dans SAS (ouf!).

Bien à vous!

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

[ Generated in 0.018 seconds, 8 queries executed ]