Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > ODS et reporting
ODS et reporting Forum d'entraide sur les fonctionnalités de reporting de SAS : gérer les sorties et graphiques de SAS
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 28/07/2011, 12h54   #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 proc gchart et option midpoint

Bonjour à tous,

je chercher à tracer une pyramide des âges avec proc gchart, j'obtient une pyramide des ages où l'age va de 99 à 55. Je voudrais ordonner les bâtons comme dans le sens inverse de 55 à 99 ans . j'utilise l’option MIDPOINTS mais cela ne fonctionne pas , quelqu'un aurait -il une solution?
Code :
1
2
3
4
5
6
proc gchart DATA=TreeAgeDiag;
	hbar age / discrete nostats sumvar=num  subgroup=sexe2  
		annotate=anno raxis=axis1 maxis=axis2   midpoints= &valeurs;
	label Sexe2 = Sexe;
 
run;quit;
resultats sas :
Citation:
481 proc gchart data=TreeAgeDiag;
482 hbar age / discrete nostats sumvar=num subgroup=sexe2
483 annotate=anno raxis=axis1 maxis=axis2 midpoints= &valeurs;
-
22
76
WARNING: Apparent symbolic reference VALEURS not resolved.
NOTE: The previous statement has been deleted.
ERROR 22-322: Syntax error, expecting one of the following: a quoted string, a numeric constant,
a datetime constant, a missing value, (, OLD.
ERROR 76-322: Syntax error, statement will be ignored.
484 label Sexe2 = Sexe;
485
486 run;
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 13h02   #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
je n'ai pas regarde le probleme dans le detail, mais apparrement ta macro variable "valeurs" n'en a pas, justement...
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 13h42   #3
Membre éclairé
 
Homme
statisticien
Inscription : mai 2011
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : statisticien
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2011
Messages : 212
Points : 319
Points : 319
même remarque que Manoutz, sinon ça semble marcher sans trop de problèmes....

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 
DATA TreeAgeDiag;
age=10;num=10;sexe2='1';output;
age=10;num=-12;sexe2='2';output;
age=11;num=15;sexe2='1';output;
age=11;num=-17;sexe2='2';output;
age=12;num=10;sexe2='1';output;
age=12;num=-12;sexe2='2';output;
age=13;num=15;sexe2='1';output;
age=13;num=-17;sexe2='2';output;run;
 
%let age_space=13 12 11 10;
 
proc gchart DATA=TreeAgeDiag;
	hbar age / discrete nostats sumvar=num  type=sum subgroup=sexe2  
	/*	annotate=anno raxis=axis1 maxis=axis2 */  midpoints=&age_space.;
	*label Sexe2 = Sexe;
run;quit;
Images attachées
Type de fichier : jpg image.JPG (23,6 Ko, 7 affichages)
jerome_pdv2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 14h29   #4
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 j'ai compris. Juste une question comment définir ma variable macro sans avoir à énumére tous les âges (55,56....99).

Merci pour votre aide
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 14h57   #5
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Tu peux passer par une proc sql comme suit

Code :
1
2
3
4
5
proc sql ;
SELECT age INTO: age_space separated BY " " FROM TABLE;
quit;
 
%put age_space=&age_space.;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h24   #6
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
en faiseant cela j'obtients des données (pour age ) qui sont completement désordonées (66 99 68 80 77 ...). J'aimerais qu'elle soit ordonnée de la plus petite valeur (en bas du graphe) à la plus grande. C'est surement très simple mais je ne vois comment faire. Merci encore!!
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h30   #7
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
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 : 956
Points : 1 366
Points : 1 366
Ben, rajoutes une proc sort juste avant de stocker dans la macro
Code :
1
2
3
4
 
proc sort DATA=TABLE;
BY age;
run;
Code :
1
2
3
4
5
proc sql ;
SELECT age INTO: age_space separated BY " " FROM TABLE;
quit;
 
%put age_space=&age_space.;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h32   #8
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 bon je venais de le faire, merci pour tous!!
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 13h54.


 
 
 
 
Partenaires

Hébergement Web