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 21/06/2011, 12h59   #1
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14
Par défaut importation excel et virgule

Bonjour,

j'ai un problème lors d'une imporatation excel, j'importe une variable continue. la variable a des valeurs décimales seulement j'ai parfois 3.2 après exemple et d'autre fois la virgule vient remplacer le point. Avec la fonction substr je peux remplacer la virgule par le point comme suit sur toutes les données de la variable :
Code :
substr(CSOLBU ,2,1)='.';
Seulement j'ai auussi parfois 13,1 par exemple et avec mon code ces valeurs ne sont pas recodées. Existe-t-il une option qui permettrait de de remplacer les virgules par des points sur l'ensemble des données (peut-être dans la proc import).
j'espère être clair dans mes explication.
Merci d'avance pour l'intêret que vous voudriez bien apporter à ma question
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h40   #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
Pas compris;

tu peux donner un exemple de tes données en entrée?
t'utilises bien une proc import?
si t'es données sous Excel sont de type numérique SAS les convertie automatiquement en numérique.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h19   #3
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14
oui j'utilise bien une proc import :
Code :
1
2
3
4
5
6
7
8
9
PROC IMPORT OUT= donnees            DATAFILE= "F:.............xls" 
            DBMS=EXCEL REPLACE;
     RANGE="A_CRITERESDINCLUSION$"; 
     GETNAMES=YES;
     MIXED=NO;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
RUN;
les données ne sont pas de type numérique. Bien que ma variable est continue , elle est codée comme suit
Citation:
Var 1
12.2
13,9
10,4
9.0
12.6
14
16,3
12,9
12,2
16,7
11.0
ND
8,9
ND
ND
l'idée c'est de redéfinir le format de cette variable en format numérique (les ND seront considéré automatiquement par sas comme des données manquantes) mais pour les nombres avec une virgule, quand je redéfini le format , ces nombres sont effacés (ils apparaissent comme données manquantes). Pour remédier à ce problème, je pensais remplacer toutes les virgules par de points puis redéfinir le format de ma variable
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h25   #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
mixed= yes;

puis fais comme ceci;
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
 
 
  DATA test;
  input Var $; 
cards;
12.2
13,9
10,4
9.0
12.6
14
16,3
12,9
12,2
16,7
11.0
ND
8,9
ND
ND 
;
run;
 
 
DATA test1;
SET test;
var_num=input(tranwrd(var,',','.'),??best.);
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h32   #5
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14

ok je te remercie , 'tranwrd' fonctionne !!
une question, à quoi sert l'option mixed au juste, j'ai l'impression que ça ne cahnge rien que je mette yes ou no
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h36   #6
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
mixed=yes; s'emploie dans le cas ou t'as sur la même colonnes excel des valeurs de type numérique ou caractères; comme sa SAS prend tout en caractère.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h41   #7
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14
c'est bien ce que je pensais. pourtant en mettant mixed=no, sas prend tout en caractère aussi
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h47   #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
tant mieux alors,
n'oublies pas de mettre
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h52   #9
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14
merci encore
mathis86 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 22h48.


 
 
 
 
Partenaires

Hébergement Web