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, 11h37   #1
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
Par défaut [DDE]Décalage lors de la lecture d'un colonne vide

Bonjour,

J'éssaie d'importer un fichier excel avec des liens DDE contenant plusieurs colonnes à vides (de la première ligne à la fin). Dès lors que je SAS rencontre la première colonne vide, celle-ci est systématiquement remplacée par la colonne qui suit, du coup des données sont toutes décalées vers la gauche.
Existe-il des options de l'infile qui prennent en compte ce type de données?

Merci!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 11h54   #2
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
et tu as spécifié les lignes et les colonnes dans ton filename?

dans l'infile il y a missover et dsd qui gèrent les observations manquantes d'une colonne (à tester, mais pas sur que ces options puissent solver ton cas).
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 12h34   #3
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
ci-dessous mon programme qui marche ne marche

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Filename fic dde 'Excel|C:\Documents and Settings\BEARE\Bureau\[SANTEREE.xls]SANTEREE!l1c1:l995c99';
 
DATA STANTERRE;
INFILE fic  firstobs=2  missover  truncover pad;
INPUT 
convention	$
contrat	$
cat	$
garantie$	
ssg 	$
dt_surv	
montant	
nom	$
prenom	$
secu	$
parcours $
soin	$
deb_periode	
fin_periode 
;
RUN;
Merci!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 13h26   #4
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
missover truncover pad sont différentes options pour le même type de problème. J'en prendrais qu'une seule, missover ou truncover. Tu peux essayer également l'option dsd.

mais au dela de tout ca, tu importes 99 colonnes mais n'en utilise qu'une quinzaine. Y a-t-il un intérêt particuliers aux colonnes vides dans ton fichier excel? Si ce n'est pas le cas, je les retirerais tout simplement.... Et ton problème sera résolu en quelques clics

Bon courage,

Manoutz
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 13h29   #5
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
Qui plus est, tu importes 99 colonnes et n'en crée qu'une quinzaine sous sas. Donc la il y a un problème..
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 13h36   #6
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
J'ai déjà éssayé toutes les combinaisons possible, même dsd.
La structure du fichier doit être respectée sinon je ne me casserais même pas la tête, je supprime et basta. Entre autre j'ai remplacé 99 par 13 mais ça ne change rien (je m'en doutais).

Merci quand même Manoutz!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 13h50   #7
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
Puisque l'importation de tes colonnes non vide se passe bien (si je comprends bien ton premier message), tu as toutes les informations de ton fichier excel hormis les colonnes vides et l'ordonnancement.

Si tu veux reproduire exactement la structure de ton fichier excel, crée un fichier vide, contenant 99 colonnes, et spécifie les caractéristiques de chacune des colonnes. Merge le fichier importé dans celui la.
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h15   #8
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
En fait j'avais fait plus compliqué en passant par des macro Excel et autres et ça marche très bien mais je voulais tenter le coups de le faire plus simple.
Et j'aimerais que ça marche à tous les coups ie s'il existe des colonnes à vides ou pas dans mon fichier.
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h19   #9
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
si tu n'as pas de colonnes à vide elles doivent être importées par ton dde.

pour fusionner les deux tables (l'une sous l'autre en fonction de tes clefs), tu peux le faire par un set de deux tables (donc une étape data), ou mieux, par un proc append
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h23   #10
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
Je sais qu'en bidouillant avec des merge ça marchera mais ça me fait chier quand même de ne pas savoir pourquoi ça marche pas
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h31   #11
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
Salut.
Tu aurais le même souci de décalage mais dans l'autre sens si tu avais des espaces dans tes valeurs.
Il faut rajouter l'option NOTAB en fin de FILENAME ; dans ce cas, les cellules sont vues comme séparées par des tabulations. Tu mets ensuite un DLM="09"x dans ton INFILE pour qu'il cherche un séparateur tabulation.
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h50   #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
Dans mon input il y avait 14 variables au lieux de 13, c'est résolu
Au tant pour moi et Merci!

Code :
INFILE fic  firstobs=2  dsd     missover notab DLM="09"x ;
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 00h13.


 
 
 
 
Partenaires

Hébergement Web