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

SAS STAT Discussion :

des stats pour des sous groupes


Sujet :

SAS STAT

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut des stats pour des sous groupes
    Bonjour

    J’ai une table (sur des maisons individuelles) qui contient le prix de la maison, la surface, le poids final, et le code canton pour chaque maison.
    je veux faire des sous groupes par code canton et calculer des statistiques pour chaque sous groupe. par ex: somme(poids final*prix maison)/ somme(poids final*surface) des tous les maisons d'un canton.
    je n'arrive pas à introduire la formule de calcul, ou à faire sortir les statistiques par sous groupe...
    j'aurais besoin d'un peu d'aide. Merci!

  2. #2
    Membre du Club

    Inscrit en
    Mars 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 33
    Points : 53
    Points
    53
    Par défaut
    Bonjour, plusieurs façons de faire... En voilà une et certainement pas la meilleure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    proc sql;
    create table stat_maison as select sum(poids*prix) as sum1, sum(poids*surface) as sum2
    from ta_table
    group by code_canton
    order by code_canton/* Facultatif */;
    quit;
    Là, tu as une table de la forme :
    Canton sum1 sum2
    1 x a
    2 y b
    . . .
    . . .
    . . .
    n z c

    et t'as plus qu'a faire une étape data pour faire ta division...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 249
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Deux autres propositions : une étape data ou un procédure sql ...

    SAS
    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
    data test ;
    /* Création jeu d'essai */
       input id prix surface poids canton $ ;
       cards ;
    1 1000 100 1 A
    2 2000 200 2 B
    3 3000 300 3 B
    4 4000 400 4 B
    5 5000 500 5 B
    6 6000 600 6 C
    7 7000 700 7 C
       ;
    run ;
    data resultat_sas (keep = canton stat ) ;
    /* Lecture par bloc de canton : la table doit être  triée sur cette variable*/
       set test ;
       by canton ;
       retain cum1 0
              cum2 0 ;
       cum1 = sum(cum1, poids*prix) ;
       cum2 = sum(cum2, poids*surface) ;
       if last.canton then do ;
          stat = cum1 / cum2 ;
          output ;
          cum1 = 0 ;
          cum2 = 0 ;
       end ;
    run ;
    SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc sql noprint ;
       create table resultat_sql as
       select canton
            , sum(poids*prix)/sum(poids*surface) AS stat
       from test
       group by canton ;
    quit ;
    Bon courage !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    merci!

    c'est super!
    ça marche avec les deux méthodes!

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

Discussions similaires

  1. Gestion des rôles pour identification sous Jboss
    Par bernidupont dans le forum Portails
    Réponses: 1
    Dernier message: 10/02/2014, 12h02
  2. calculer des moyennes pour des sous groupes
    Par madib dans le forum SAS Base
    Réponses: 3
    Dernier message: 04/02/2009, 16h50
  3. Réponses: 4
    Dernier message: 05/09/2007, 15h44
  4. Requête pour des stats
    Par manzane dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/06/2007, 15h51
  5. Ajouter des machines pour samba sous mandriva
    Par jean christophe dans le forum Réseau
    Réponses: 2
    Dernier message: 05/03/2006, 14h06

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