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 :

Automatisation de processus de traitement


Sujet :

Macro

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Automatisation de processus de traitement
    Bonjour à tous!!!!!!!!!!!!!!

    Je suis débutante en SAS et là je galère vraiment, Je sollicite votre aide 'sil vous plait.

    Contexte: J'ai une macro qui s'appelle SORT (Domaine= , Ind=, .......... ) qui me permet de trier 3 tables et de les Merger pour obtenir une seule table.
    Maintenant le problème est que dans ma macro SORT, les paramètres DOMAINE( 8 domaines au total: A B C D E F G H) et Ind (130 indicateurs au total: K11 K11bis K12 K12bis K12ter.....) varient.
    Les indicateurs dépendent du domaine où l'on est. Chaque domaines a ses propres indicateurs. Mais la structure des tables est la même pour tous les indicateurs.
    Je veux faire une autre macro AppelSort qui me permet d'obtenir ma table ind triée en fonction du domaine que l'on a .
    Exemple: pour Domaine A trié ind K11 K11bis K12
    Faire pareil pour B.......

    Voici le code que j'ai fais mais ça marche pas.
    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
    /* Macro pour trier les indicateur en fonction du domaine choisit*/
     
    %macro sort (domaine=,ind=,listeVAR=,listeRENAME1=,listeRENAME2=,listeRENAME3=);
         proc sort data=&domaine.&annee_2..&ind._&suf_rapport. out=&ind._&annee_2._&suf_rapport.(rename= &listeRENAME1. %if &rapport.=CE %then CE&annee_2.PF&annee.=CE;) ;by &rapport. &listeVAR. ;run;
         proc sort data=&domaine.&annee_1..&ind._&suf_rapport. out=&ind._&annee_1._&suf_rapport.(rename= &listeRENAME2. %if &rapport.=CE %then CE&annee_1.PF&annee.=CE;) ;by &rapport. &listeVAR. ;run;
         proc sort data=&domaine.&annee..&ind._&suf_rapport.   out=&ind._&annee._&suf_rapport.  (rename= &listeRENAME3. %if &rapport.=CE %then CE&annee.PF&annee.=CE;) ;by &rapport. &listeVAR. ;run;
     
         data &ind._total;
              merge &ind._&annee_2._&suf_rapport. (in=a)
                    &ind._&annee_1._&suf_rapport. (in=b)
                    &ind._&annee._&suf_rapport. (in=c);
              by &rapport. &listeVAR. ;
             
         run;
    %mend;
    
    /*Macro pour l'affichage des indicateurs*/
    %macro;
    %let carc=I;
    %let Ldomaine = EFF ACC ABS PRO HAN ORG REM;
    /*%let Lindicateur = 111 112....;*/
         %do d = 1 %to %sysfonc(countw(&Ldomaine));
              %let Edomaine = %scan(&Edomaine., &i.);
                    %do i= 1 %to %sysfonc(countw(&Lindicateur));
                        %let Eindicateur = %scan(&Lindicateur., &i.);
                        %sort(domaine = &Edomaine. Indic=&carc.&Eindicateur. listeVAR=CCNT,listeRENAME1=%str(NBR=VAR1 prcent=VAR1),listeRENAME2=%str(NBR=VAR2 prcent=VAR2),listeRENAME3=%str(NBR=VAR3 prcent=VAR3)));
                    %end;
                    /*Choisir indicateur en fonction du domaine*/
     
         %end;
         data &indic._total;
        set &ind._total;
        CLASS1=put(CCNT,$NIV_CCNT.);
    %mend;
    Je vous remercie d'avance pour votre réponse

  2. #2
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Est ce qu'on peut avoir une vue de la table. Ce sera plus facile
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/09/2012, 17h48
  2. Réponses: 0
    Dernier message: 22/11/2010, 11h08
  3. Réponses: 0
    Dernier message: 19/07/2010, 16h25
  4. Automatisation de processus
    Par lenombre18 dans le forum Autres Solutions d'entreprise
    Réponses: 1
    Dernier message: 16/07/2010, 13h37
  5. [XL-2003] MàJ automatisée de cellules + message traitement en cours
    Par probexcel dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/06/2009, 17h52

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