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 :

Fonction if.first : compteur


Sujet :

SAS Base

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2019
    Messages : 2
    Points : 4
    Points
    4
    Par défaut Fonction if.first : compteur
    Bonjour,
    nouveau utilisateur de SAS, j'essaye de comprendre ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data VISITE_CAT;
       retain cnt 0;
       set VISITE_CAT  ;
       by num_card caldayt ;
       if first.num_card then cnt=1;
       else if first.caldayt then cnt+1;
    lag_num=lag(num_card);
    lag_date=lag(caldayt);
    run;
    Je pense que l'idée est de créer une variable qui compte le nombre de visites par clients, mais je n'arrive pas a comprendre comment le comptage ce fait,
    est ce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    else if first.caldayt then cnt+1;
    incrémente la variable cnt à chaque nouvelle date rencontré par numéro de client ??

    je vous remercie d'avance,


    cdt

  2. #2
    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
    Bonjour,

    Avec cet exemple la compréhension est plus simple

    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 test;
    input num_card caldayt $;
    cards;
    1 A
    1 A
    1 B
    1 B
    1 C
    2 A
    2 B
    2 C
    ; 
    run;
     
    data test1;
    set test;
    retain cnt;
    set test  ;
       by num_card caldayt ;
       if first.num_card then cnt=1;
       else if first.caldayt then cnt+1;
     
    run;
    Le compteur cnt se réinitialise à 1 en chaque début d’occurrence num_card.
    Il s'incrémente dans chaque occurrence (exemple num_card =1) à la variation des valeurs de caldayt

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

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

Discussions similaires

  1. Traduction fonction SAS Code SQL en SAS Guide
    Par mariekoala dans le forum Outils BI
    Réponses: 2
    Dernier message: 20/06/2009, 20h25
  2. compréhension code javascript
    Par Jijudu dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/11/2008, 15h56
  3. Compréhension code HTML
    Par Jijudu dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/11/2008, 14h38
  4. problème compréhension code
    Par mitherkiller dans le forum SDL
    Réponses: 3
    Dernier message: 13/04/2007, 09h38
  5. [MFC]Problème compréhension code
    Par bitardo dans le forum MFC
    Réponses: 1
    Dernier message: 23/05/2006, 15h56

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