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 23/08/2011, 14h28   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 75
Points : 11
Points : 11
Par défaut Compter le nombre d'observation pour l'ensemble d'un tableau

Bonjour à tous,

voila je me tourne vers vous car j'ai un petit soucis j'essaye de compter pour l'ensemble de mes variables les personnes qui ont répondu oui (1) mais je ne veux pas lister l'ensemble de mes variables (plus de 1000) est ce qu'il existerait une solution genre

Code :
1
2
3
4
5
6
7
8
 
 
PROC SQL;
CREATE TABLE enseigne  AS
  SELECT a.numind, a.vague , b.numind,b.COUNT(*=1) AS nstays,
   FROM ens AS b LEFT JOIN foyer AS a 
WHERE annee = 4;
quit;
merci
antoine2933 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h20   #2
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 957
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 : 957
Points : 1 368
Points : 1 368
Quelque chose comme ça:

Code :
1
2
3
4
5
6
PROC SQL;
CREATE TABLE enseigne  AS
  SELECT a.* , b.numind,COUNT(*) AS nstays
   FROM ens as b left join foyer as a 
where annee = 4 and question=1 ;
quit;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h31   #3
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 75
Points : 11
Points : 11
le problème c'est que je voudrais sommer toutes les variables pour éviter de les lister mais on ne peut pas utiliser les : donc je vois pas.
et vu que je n'ai pas de variable "question" t'as méthode ne marche pas mais je cherche toujours
antoine2933 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 17h10   #4
Invité de passage
 
Inscription : juin 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 3
Points : 2
Points : 2
Bonjour,
Je n'ai pas bien compris ce que tu veux faire mais pour lister tes variables dans le log, tu peux utiliser l'option feedback de proc sql.

Code :
1
2
3
4
 
proc sql feedback noprint;
SELECT * FROM a;
quit;
cscerim3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 17h47   #5
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 008
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 008
Points : 1 705
Points : 1 705
Citation:
Envoyé par cscerim3 Voir le message
Bonjour,
Je n'ai pas bien compris ce que tu veux faire mais pour lister tes variables dans le log, tu peux utiliser l'option feedback de proc sql.

Code :
1
2
3
4
 
proc sql feedback noprint;
SELECT * FROM a;
quit;
Hello,
L'option feedback, sert à valider la requette SQL.

@antoine2933, un peu plus de détail sur ce que tu veux faire?
un jeux de données et le résultat souhaité pourra nous aider à réflichir.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 18h03   #6
Membre actif
 
Inscription : mars 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 149
Points : 162
Points : 162
Si j'ai bien compris tu as 1000 questions dont la valeur est 0 ou 1 (pour oui) . Tu veux savoir combien il y de oui par personne.

dans ce cas, je ne pense pas que tu puisses le faire en SQL, il faut que tu passes par une étape data

Code :
1
2
3
4
5
6
7
8
DATA sortie (DROP=i);
SET entree;
array question(*)  question1-question1000;
nb_oui=0;
do i=1 TO dim(question);
  IF question(i)=1 then nb_oui=nb_oui+1;
end;
run;
la2002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 18h27   #7
Membre expérimenté
 
Inscription : avril 2009
Messages : 538
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 538
Points : 541
Points : 541
ici tu peux utiliser le :

Code :
1
2
3
4
5
 
proc summary DATA=WORK.QUESTION nway missing;
   var questio:;
   output out=CHECK sum=/autoname;
run;
xav2229 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h39.


 
 
 
 
Partenaires

Hébergement Web