Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Débutez
Débutez Forum concentrant les premières questions que l'on se pose en tant que débutant
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 18/08/2011, 15h32   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 180
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 180
Points : 34
Points : 34
Par défaut Calcul d'une somme de valeur

Bonjour

Voici mon problème j'ai une une base de données qui contient une variable "age" et je veux créer une nouvelle variable "Totage" dans une nouvelle qui sera la somme des ages de l'observation 1 à N.
J'ai assayé avec le code :

Code :
1
2
3
4
DATA moi2;
SET moi
Totage=sum(age);
run;
mais Totage reproduit juste les valeurs de "age"

Merci d'avance pour votre aide.
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 16h09   #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
Bonjour,

Dans l'etape data, la somme ne fonctionne qu'en ligne: tu peux sommer deux variables sur une meme ligne pour en creer une troisieme (ta variable somme).

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DATA dataage;
input age mnvage best12.;
cards;
8 2
5 2
6 4
9 5
6 4
3 2
6 6
4 5
5 8
4 9
12 8
55 6
;
run;
 DATA age2;
SET dataage;
Totage=sum(age, mnvage);
run;
Pour info tu as oublie un point virgule au niveau de la ligne set donc tu n'auras pas de resultats: controle ta log!

Pour la somme d'une variable, tu peux passer par une proc sql:

Code :
1
2
3
4
5
6
proc sql;
CREATE TABLE age2 AS
SELECT *, sum(age) AS sumage
FROM dataage
;
quit;
Tu as egalement la possibilite de passer par une proc univariate ou une proc means.

Code :
1
2
3
4
proc means DATA=age;
var age;
output out=sumage2 sum=somme;
run;
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web