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

SAS Discussion :

proc report /sas


Sujet :

SAS

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut proc report /sas
    Bonjour la communauté, je viens de bébuter sur sas et je recontre un petit soucis j'aimerais avoir un tableau (voir capture ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    data x;
    set classe1;
     if modele = 'Clio / 2016 / 5P / Berline' then modele_Promo = 'Clio'; 
     if modele = 'Clio / 2019 / 5P / Berline' then modele_Promo = 'Clio'; 
     if modele = 'Clio 5p Berline' then modele_Promo = 'Clio';
     if modele = 'Clio Estate 5p Break' then modele_Promo = 'Clio'; 
     if modele = 'Kadjar / 2018 / 5P / Crossover' then modele_Promo = 'Kadjar'; 
     if modele = 'Kadjar 5p Crossover' then modele_Promo = 'Kadjar';
     if (date >="01sep2019"D) and (date <= "03oct2019"D) then Periode = 'N';
     if (date >="01sep2018"D) and (date <= "03oct2018"D) then Periode = 'N-1';
     run;
    j'aimerais qu'il me compte le modele-promo 'clio' et kadjar en fonction de la chaque periode.
    j'avais fait un proc tabulate qui avait marché mais je pouvais pas rajouter une colonne calculer evolution dont la formule est: (N-(N-1))/(N-).
    on m'a dit de faire un proc report mais j'y arrive pas car il compte mal.

    ci_joint: le fichier en exemple et la sortie souhaitée
    cdt,
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    avril 2008
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2008
    Messages : 1 854
    Points : 4 111
    Points
    4 111
    Par défaut
    Bonjour.
    Si tu ne nous proposes pas ton code (si possible sur une table qui permet de l'exécuter chez nous aussi, avec des données exemple ; SASHELP.PRDSALE semble correspondre à la forme de ton tableau, avec COUNTRY en lignes et YEAR en colonnes), comment peut-on te dire pourquoi ta proc Report "compte mal" ?
    Bon courage.
    Olivier

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour olivier,
    j'ai joint un fichier Excel et le type de sortir que je souhaite avoir.
    (exemple fictive).
    voici ce que j'avais faire avec proc tabulate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PROC TABULATE DATA = x2;
    CLASS modele_Promo marque Periode total/missing;
    TABLE (modele_Promo total) * (N="nombre de vehicule" PCTN="Pourcentage"), (Periode total);
    RUN;
    mais je n'arrive rajouter une colonne (evolution [N-(N-1))/(N-1)]) en %

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    voici la sortir que j'ai avec tabulate, du coup j'aimerais rajouter la colonne calculée evolution

    merci pour l'aide
    Images attachées Images attachées  

  5. #5
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    avril 2008
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2008
    Messages : 1 854
    Points : 4 111
    Points
    4 111
    Par défaut
    Avec la proc REPORT on pourrait faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PROC REPORT DATA=sashelp.prdsale ;
      COLUMNS country year,actual evol ;
      DEFINE country / GROUP ;
      DEFINE year / ACROSS "" ;
      DEFINE actual / ANALYSIS SUM "" ;
      DEFINE evol / COMPUTED FORMAT=PERCENTN32.1 ;
      COMPUTE evol ;
         evol = _c3_/_c2_ - 1 ;
      ENDCOMP ;
    RUN ;
    Avec Tabulate c'est effectivement compliqué d'obtenir l'évolution directement. Mais il reste la solution de calculer tous les agrégats à l'avance (proc Means ou SQL) puis transposer pour avoir les deux années en colonnes, et une étape Data pour l'évolution. Dans ce cas on peut avoir une jolie mise en forme croisée avec Tabulate sur des données où tous les calculs sont déjà faits (on demandera des SUM bidons pour transmettre les valeurs dans le tableau).
    Bon courage.
    Olivier

Discussions similaires

  1. Création Fichier HTML Proc Report Macro SAS
    Par Adrien M. dans le forum Macro
    Réponses: 4
    Dernier message: 28/11/2014, 16h03
  2. Tableau SAS sur une page avec proc report
    Par Kirata dans le forum ODS et reporting
    Réponses: 4
    Dernier message: 16/03/2012, 18h06
  3. sas break after capricieux dans Proc Report
    Par servane dans le forum ODS et reporting
    Réponses: 9
    Dernier message: 24/05/2011, 12h55
  4. Réponses: 6
    Dernier message: 23/09/2009, 15h47
  5. Sauts de page avec ODS HTML Proc report (SAS)
    Par mariebozo dans le forum ODS et reporting
    Réponses: 8
    Dernier message: 19/01/2009, 16h03

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