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 Base Discussion :

Compteur en sas


Sujet :

SAS Base

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut Compteur en sas
    Bonjour j'ai un problème j'ai deux colonnes:
    codePort (code du portefeuille) et nomCom (nom du commercial)
    il peut y avoir plusieurs commercial pour un code portefeuille donnée


    je voudrais compter pour chaque portefeuilles, le nombre de cadres dont le nom commence par Sect

    j'ai fait ce bout de code mais je galère

    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
    /*vacance du secteur*/
    proc sort data=espace.PORTEFEUILLE;
    by CODEPORTEFEUILLE LASTNAME;
    run;
    /*calcul des périodes*/
    data espace.PORTEFEUILLE;
    set espace.PORTEFEUILLE;
    by CODEPORTEFEUILLE LASTNAME;
    retain periode 0;
    retain vacance 0;
    if first.CODEPORTEFEUILLE then periode=0;
    periode=periode+1;
    if first.LASTNAME;
    vacance=vacance+1;
    run;
    Merci d'avance,
    Huître

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Mais tu veux une table agrégée en sortie ?

    dans ce cas il faut faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc SQL;
    create table g as 
    select codePort , COUNT(nomCom) as nbnomCom
    from matable
    group by codePort 
    ;
    quit;
    donc pour identifier ceux qui commence par Sect on peut imaginer cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    proc SQL;
    create table g as 
    select codePort 
    , COUNT(nomCom) as nbnomCom
    , SUM((nomCom like 'Sec%') ) as nbnomCom2
    from matable
    group by codePort 
    ;
    quit;
    Mais bon, sans table d'exemple je ne saurais pas te donner mieux
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

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

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Et même au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM((nomCom LIKE 'Sect%') )
    Bon courage.
    Olivier

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    Ok je te remercie

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    je voudrais savoir si la proc sql demeure la seule alternative à ce problème

    et est-il possible de produire quelquechose qui ressemble à ceci:
    je voudrais en effet rajouter une troisième variable periodeX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    proc SQL;
    CREATE TABLE g AS 
    SELECT codePort 
    , COUNT(nomCom) AS nbnomCom
    , SUM((nomCom LIKE 'Sec%') ) AS nbnomCom2
    ,nbnomCom-nbnomCom2 as periodeX
    FROM matable
    GROUP BY codePort 
    ;
    quit
    ;

    Merci d'avance

  6. #6
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Je te propose cette solution

    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
    data matable;
    input var1 var2 $;
    cards;
    1 Section
    2 auto
    3 Secteur
    4 toto
    1 Sechhh
    ;
    run;
     
     
    proc SQL;
    CREATE TABLE g AS 
    SELECT var1 
    , COUNT(var2) AS nbnomCom
    , SUM((var2 LIKE 'Sec%') ) AS nbnomCom2
    ,calculated nbnomCom- calculated nbnomCom2 AS periodeX
    FROM matable
    GROUP BY var1
     
    ;
    quit;
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  7. #7
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Citation Envoyé par huître Voir le message
    je voudrais savoir si la proc sql demeure la seule alternative à ce problème

    et est-il possible de produire quelquechose qui ressemble à ceci:
    je voudrais en effet rajouter une troisième variable periodeX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    proc SQL;
    CREATE TABLE g AS 
    SELECT codePort 
    , COUNT(nomCom) AS nbnomCom
    , SUM((nomCom LIKE 'Sec%') ) AS nbnomCom2
    ,nbnomCom-nbnomCom2 as periodeX
    FROM matable
    GROUP BY codePort 
    ;
    quit
    ;

    Merci d'avance
    Tu peux utiliser une étape data avec des retain.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    Merci ça marche

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

Discussions similaires

  1. Compteur en sas qui ne fonctionne pas correctement
    Par huître dans le forum SAS Base
    Réponses: 10
    Dernier message: 09/05/2012, 16h28
  2. Calcul d'un compteur sur SAS
    Par Fan_SAS dans le forum SAS Base
    Réponses: 1
    Dernier message: 18/11/2011, 08h15
  3. [DATA] Compteur sous SAS
    Par sydster dans le forum SAS Base
    Réponses: 2
    Dernier message: 31/12/2010, 10h53
  4. [DATA] Compteur avec SAS
    Par Jade Mio dans le forum SAS Base
    Réponses: 7
    Dernier message: 27/08/2010, 09h54
  5. Compteur sous sas
    Par bibette dans le forum SAS Base
    Réponses: 1
    Dernier message: 09/07/2008, 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