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

ODS et reporting Discussion :

PROC REPORT : création d'un tableau avec plusieurs variables en ligne


Sujet :

ODS et reporting

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Stat
    Inscrit en
    Janvier 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Stat
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 12
    Points : 9
    Points
    9
    Par défaut PROC REPORT : création d'un tableau avec plusieurs variables en ligne
    Bonjour,
    Malgré mes recherches je ne trouve pas la réponse à la question suivante : est-il possible d’obtenir un tableau avec plusieurs variables différentes en ligne grâce à la procédure PROC REPORT ? Je m’excuse par avance pour ma question qui manque surement de logique.
    La solution est-elle de réaliser plusieurs PROC REPORT séparés puis de les « recoller » par la suite, ou y’a-t-il un moyen direct ?

    En pièce jointe, un exemple de début de tableau que je souhaiterais obtenir.

    J’ai pensé à 2 solutions mais aucune n’est satisfaisante (solution simplifiée dans le cas où on travaillerait chez hommes et femmes confondus).

    Solution 1 :
    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
    54
    55
    56
     
    DATA MA_TABLE;
    input  ID MISSION ETU ETAB;
    datalines;
    1 1 0 1 
    2 1 0 1 
    3 2 0 2 
    4 3 1 2
    5 2 1 2
    RUN;
     
    PROC FORMAT; 
    value var
    	1 = "Mission"
    	2 = "Etudiant"
    	3 = "Etablissement";
    value ETU
            1 = "Oui"
            0 = "Non"
    	. = "DM";
    value ETAB
    	1 = "France"
    	2 = "Etranger"
    	. = "DM";
    run;
     
    PROC TABULATE data = MA_TABLE missing; class	MISSION; table (MISSION), (N PCTN) ; ods output table=DIS_MISSION (drop = _TYPE_ _PAGE_ _TABLE_); run;
    PROC TABULATE data = MA_TABLE missing; class	ETU; table (ETU), (N PCTN); ods output table=DIS_ETU (drop = _TYPE_ _PAGE_ _TABLE_); run;
    PROC TABULATE data = MA_TABLE missing; class	ETAB; table (ETAB), (N PCTN); ods output table=DIS_ETAB (drop = _TYPE_ _PAGE_ _TABLE_); run;
     
    DATA DIS_MISSION; set DIS_MISSION; rename MISSION = VAR_STRATUM; VAR_GROUP = 1; run;
    DATA DIS_ETU; set DIS_ETU; rename ETU = VAR_STRATUM; VAR_GROUP = 2; run;
    DATA DIS_ETAB; set DIS_ETAB; rename ETAB = VAR_STRATUM; VAR_GROUP = 3; run;
     
    DATA FINAL;
    set DIS_MISSION DIS_ETU DIS_ETAB;
    run;
     
    PROC REPORT data = FINAL;
    column
    VAR_GROUP
    VAR_STRATUM
    (N PctN_0);
    define VAR_GROUP/ order noprint;
    define VAR_STRATUM/ order display "" ;
    define N / display "Eff" ;
    define PctN_0 / display '%' format=comma9.2 ;
    compute before VAR_GROUP;
    line  VAR_GROUP var.;
    endcomp; 
    compute VAR_STRATUM;
    if _break_='_RBREAK_' then
    call define('VAR_STRATUM','style','style=[pretext="Total" just=LEFT]');
    endcomp;
    RBREAK after / summarize;
    run;
    Cependant je me trouve bloquée avec un affichage sans les format (je travaille sur beaucoup de variables, donc la solution de créer un seul format avec toutes les modalités de réponse de toutes les variables me parait difficile).

    Solution 2 :
    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
     
    PROC TABULATE data = MA_TABLE missing; 
    class	MISSION ETU ETAB; 
    table (MISSION), (N PCTN); 
    table (ETU), (N PCTN); 
    table (ETAB), (N PCTN);
    ods output table = DIS_MA_TABLE (drop = _TYPE_ _PAGE_);
    run;
     
    PROC REPORT data = DIS_TEST;
    column _TABLE_ MISSION ETU ETAB (N PctN_000);
    define _TABLE_ / order order = internal;
    define N / display "Eff" ;
    define PctN_000 / display '%' format=comma9.2 ;
    define MISSION / display ;
    define ETU / display ;
    define ETAB / display ;
    compute before _TABLE_ ;
    line  _TABLE_ var. ;
    endcomp; 
    run;
    Ici, les colonnes se démultiplient...

    Merci par avance.

    Bien cordialement,
    GP
    Images attachées Images attachées  

Discussions similaires

  1. Création d'un tableau avec un nombre de lignes aléatoires
    Par RemiEJ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2019, 09h06
  2. Création tableau avec plusieurs clients
    Par Rosees dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/09/2013, 15h22
  3. "Tableau" avec plusieurs types de variables
    Par izguit dans le forum C++
    Réponses: 4
    Dernier message: 19/07/2007, 11h24
  4. Réponses: 1
    Dernier message: 27/06/2007, 16h01
  5. ORACLE 9.2 : Création d'une vue avec plusieurs clauses WHERE
    Par soffinette dans le forum Administration
    Réponses: 4
    Dernier message: 01/02/2007, 10h51

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