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 09/05/2011, 15h48   #1
Invité régulier
 
Femme
Inscription : mai 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 30
Points : 6
Points : 6
Par défaut Récupération des lignes non vides

Bonjour,

Je veux dans mon fichier récupéré les lignes "non vides" d'une variable.
je fais :

Code :
1
2
3
4
DATA aaa;
SET bbb;
IF X<> "" THEN OUTPUT; (X est une variable qualitative)
RUN;
Le problème c'est que dans ma log, il m'inscrit :
Code :
L'opérateur "<>" est interprété comme "MAX".
alors que je voudrais que ce soit interprété comme différent !

Auriez-vous une idée ?

Merci.
marion.bouilly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h18   #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;
il y a l'option missing pour sas ;

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
DATA test;
input  var $1.;
cards;
aaaa
 
 
cccc
1254
;
run;
 
DATA test1;
SET test;
IF NOT missing (var) then output;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h19   #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
Dans SAS, différent s'écrit NE (le plus souvent) ou parfois NOT =, ^= ou !=. Je te conseille systématiquement NE qui est compris partout.
Pour ton cas précis, il serait plus lisible (à mes yeux) de faire une condition avec un
Code :
WHERE x IS NOT MISSING ;
ou si tu tiens à ton IF,
Code :
IF NOT MISSING(x) THEN OUTPUT ;
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h20   #4
Membre du Club
 
Homme Fabien
Inscription : novembre 2008
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France

Informations forums :
Inscription : novembre 2008
Messages : 59
Points : 56
Points : 56
Salut,

Test ne à la place de <>.

Suistrop

Edit : Bonjour à tous, un peu de retard sur olivier....
suistrop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h21   #5
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
input var $4. sorry
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h22   #6
Invité régulier
 
Femme
Inscription : mai 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 30
Points : 6
Points : 6
Merci de vos réponse.
J'ai réussi avec le NE.
marion.bouilly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h48   #7
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
Citation:
Envoyé par marion.bouilly Voir le message
Merci de vos réponse.
J'ai réussi avec le NE.
Très bien,
Moi j’opte beaucoup plus pour la fonction missing( si t'as la version appropriée ).sa arrive où le " " est différent de " " c'est le cas de SAS/Access to Oracle ( le nombre de blancs dans les OBS compte). à tester avec les autres base

Attention, je ne parle pas là de sql pass-trough.
s_a_m 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 11h02.


 
 
 
 
Partenaires

Hébergement Web