IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macro Discussion :

Graphique et macros


Sujet :

Macro

  1. #1
    Membre à l'essai
    Femme Profil pro
    Etudiant
    Inscrit en
    Juin 2019
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 17
    Points : 21
    Points
    21
    Par défaut Graphique et macros
    Bonjour,

    J'ai une base données avec la consommation de biens de différentes familles sur plusieurs années (variables : famille, sexe, année, conso1, conso2, conso3)
    Je souhiate faire ceci :

    On cherche à représenter graphiquement (par des diagrammes en barres), pour chaque année, l’écart entre la consommation moyenne des différentes familles en un bien donné et la consommation moyenne constatée sur la même année pour le même bien pour toutes les familles de l’échantillon.
    Proposer un programme permettant d’obtenir le résultat voulu. Celui-ci devra être conçu de façon à ce que la variable-clef année puisse être remplacée facilement par la variable sexe, par exemple.

    J'ai commencé à faire ce code pour calculer les consommations moyennes mais je suis bloquée ensuite, je ne sais pas comment faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    %let c=2;
    %let vc = annee;
     
    /* Trier les année*/
    proc sort data=tab;
    by &vc;
    run;
     
    /*Calcul la consommation moyenne de la conso "c" pour chaque année */
    proc means noprint data=tab mean;
    var conso&c;
    output out = mout mean =m&vc.mconso&c;
    by &vc;
    run;
    Pouvez-vous m'aider ?
    Merci beaucoup
    Valentine

  2. #2
    Membre à l'essai
    Femme Profil pro
    Etudiant
    Inscrit en
    Juin 2019
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 17
    Points : 21
    Points
    21
    Par défaut
    J'ai réussi, voici le code que j'ai utilisé si ça peut en aider certains.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    /*Macro ou num correspond au numero de consommation du bien, vc represente la valeur-clef*/
    %MACRO quest5 (num= , vc=);
    proc sort data=tab;
    by &vc famille;
    run;
     
    /*Moyenne des differentes familles en un bien num donne par vc et par famille*/
    proc means noprint data=tab mean;
    var conso#
    output out = moyennef mean = consomoyf;
    by &vc famille;
    run;
     
    proc sort data=tab;
    by &vc;
    run;
     
    /*Consommation moyenne pour le même bien pour toutes les familles par vc*/
    proc means noprint data=tab mean;
    var conso#
    output out = moyout mean = allmoy;
    by &vc;
    run;
     
    proc sort data=moyennef;
    by &vc;
    run;
     
    /*Différence entre les deux moyennes*/
    data tab2;
    merge moyennef moyout;
    by &vc;
    diff_conso&num = consomoyf - allmoy;
    run;
     
    proc sort data=tab2;
    by &vc;
    run; 
     
    /*Graphiques par vc de ces différences par famille*/
    proc sgplot data=tab2;
    title "Différence de consommation moyenne du bien &num par famille";
    title2 " par &vc ";
    yaxis label= "Consommation du bien &num " ;
    xaxis label="Famille";
    vbar famille / response = diff_conso&num stat=mean;
    by &vc;
    run;
     
    %MEND quest5;
     
    /*Application de la macro pour le bien de consommation 2 par annees*/
    %quest5(num=2, vc=annee);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rafraichissement d'un Graphique par macro
    Par Djams78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/03/2011, 13h54
  2. générer un graphique avec macro
    Par orangepassion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/10/2010, 10h22
  3. [XL-2003] Variation d'un graphique via macro
    Par filling dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/02/2010, 10h23
  4. Graphique par macro
    Par GMmaurice dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2008, 15h21
  5. Source de données graphique variable : macro?
    Par ginkas31 dans le forum Excel
    Réponses: 1
    Dernier message: 07/12/2007, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo