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 12/08/2011, 13h48   #1
Invité régulier
 
Femme
economiste
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : economiste
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 9
Points : 9
Par défaut Sous total avec plusieurs conditions

bonjour,

ma question ressemble à celle posée dans la discussion ci dessous:
http://www.developpez.net/forums/d11...ul-sous-total/

Malheuresement, je ne parviens pas à l'appliquer à mon probleme car je possede un échellon supplémentaire. J'espere que vous pourrez m'aider.

Voici un extrait de ma base:

ident code mode revenu
1 222 0 31184
5 150 1 8065
2 111 7 6565
2 111 0 46521
2 130 0 24829
2 150 0 6097
2 150 7 3936
8 150 2 10998
8 180 3 13390
0 222 0 6433
4 100 0 42866
4 100 7 35297
4 222 2 30116
4 111 0 48180

je souhaite pour chaque code identique se référant au meme ident, faire la somme du revenu. en gros j'aimerais que la désagrégation par mode n'existe pas.
c'est à dire obtenir:

ident code mode revenu
1 222 0 31184
5 150 1 8065
2 111 7 53086
2 130 0 24829
2 150 0 10033
2 180 3 34558
8 150 0 10998
8 180 0 13390
0 222 0 6433
4 100 2 78163
4 222 2 30116
4 111 0 48180

la variable mode ne m'interesse pas en sortie.


merci d'avance
Cloaq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 14h21   #2
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
Bonjour,

Si j'ai bien compris, regarde le code suivant :

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
DATA a1;
    input ident  code  mode revenu;
cards;
1 222 0 31184
5 150 1 8065
2 111 7 6565
2 111 0 46521
2 130 0 24829
2 150 0 6097
2 150 7 3936
8 150 2 10998
8 180 3 13390
0 222 0 6433
4 100 0 42866
4 100 7 35297
4 222 2 30116
4 111 0 48180
;
run;
proc means DATA = a1 nway missing noprint sum;
class ident code;
var revenu;
output out = a2(DROP = _freq_ _type_)sum=;
run;

cordialement

Suistrop
suistrop est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/08/2011, 15h38   #3
Invité régulier
 
Femme
economiste
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : economiste
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 9
Points : 9
C'est tout à fait ça merci beaucoup.
je ne savais pas qu'avec la procedure means on pouvait sortir cette forme de tableau.
Pourriez vous me précisez ce que signifient et permettent: "nway missing" , et "class".
J'utilisais "by", mes données n'étant alors plus désagrégées.
C'est super!
Cloaq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h58   #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
Bonjour,

Missing c est pour prendre en compte les valeurs manquantes des groupes comme 1 groupe lui aussi.(Test pour mieux comprendre)
Nway c est pour ne pas avoir toutes les combinaisons quand tu utilises class sur plusieurs variables.(Ici le mieux c est que tu tests sans le Nway)

Pour ce que j'utilise je vois pas trop d'avantage a utiliser by car il faut avoir trié sa table avant(perte de temps) alors qu'avec class plus besoin.

Cordialement

Suistrop
suistrop 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 15h34.


 
 
 
 
Partenaires

Hébergement Web