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 :

compter le nombre de fois que la variable "question" a été modifiée


Sujet :

SAS Base

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 2
    Points : 4
    Points
    4
    Par défaut compter le nombre de fois que la variable "question" a été modifiée
    Bonjour je veux compter le nombre de fois que « question » a été modifié.
    Ma table a été trié au préalable par ident et question.
    Mon code est détaillé ci-dessous :
    ident : identifiant (ici il y a deux identifiants unique A et B)
    question: liste de question allant de 1 à 25 (pouvant être répété)
    modif: prend la valeur 0 si « question » est renseigné pour la première fois et 1 dans le cas contraire
    cnt :c'est le compteur que j'ai défini dans mon étape data (et vous verrez ce que ça donne comme valeur dans ma table mais c'est pas ce que je veux)
    nbre_fois: c'est ce que je souhaite obtenir en réalité
    ScoresT (c'est ma table de départ triée par ident et question)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data nbre_modif; set ScoresT;
    by ident question ;
    if first.question then do; 
    cnt = 0 ;
    end;
    else do; 
    cnt=cnt+1;
    end;
    run;
    Ci dessous la table "nbre_modif"
    J'ai aussi ajouté la variable nbre_fois qui correspond à ce que je veux obtenir (ne figure pas dans le code, juste pour avoir une vision de ce que je veux obtenir à la place de cnt) mais j'y arrive pas.

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    DATA nbre_modif;
    LENGTH ident $ 2 ;
    INPUT 
    ident$ question modif cnt nbre_fois;
    CARDS;
     
    A	1	0	0	0
    A	2	0	0	0
    A	2	1	.	1
    A	2	1	.	2
    A	3	0	0	0
    A	4	0	0	0
    A	5	0	0	0
    A	6	0	0	0
    A	7	0	0	0
    A	8	0	0	0
    A	9	0	0	0
    A	10	0	0	0
    A	10	1	.	1
    A	11	0	0	0
    A	12	0	0	0
    A	13	0	0	0
    A	14	0	0	0
    A	15	0	0	0
    A	16	0	0	0
    A	17	0	0	0
    A	18	0	0	0
    A	19	0	0	0
    A	20	0	0	0
    A	21	0	0	0
    A	21	1	.	1
    A	22	0	0	0
    A	23	0	0	0
    A	23	1	.	1
    A	23	1	.	2
    A	24	0	0	0
    A	25	0	0	0
    A	25	1	.	1
    B	1	0	0	0
    B	2	0	0	0
    B	3	0	0	0
    B	4	0	0	0
    B	5	0	0	0
    B	6	0	0	0
    B	7	0	0	0
    B	8	0	0	0
    B	9	0	0	0
    B	10	0	0	0
    B	11	0	0	0
    B	12	0	0	0
    B	12	1	.	1
    B	13	0	0	0
    B	14	0	0	0
    B	14	1	.	1
    B	15	0	0	0
    B	16	0	0	0
    B	17	0	0	0
    B	18	0	0	0
    B	19	0	0	0
    B	20	0	0	0
    B	21	0	0	0
    B	21	1	.	1
    B	22	0	0	0
    B	23	0	0	0
    B	24	0	0	0
    B	25	0	0	0
     
    ;
    RUN;
    Merci si vous avez une solution à me proposer

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Bonjour,
    Voici ton code rectifié. Tu peux le tester pour voir si ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data nbre_modif ; 
    set TaTable ;
    by ident question ;
    retain NbFois ;
    if first.question then NbFois = 0 ; 
    NbFois+modif ;
    run ;
    Cdt Ward

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 2
    Points : 4
    Points
    4
    Par défaut merci
    Effectivement,
    ça marche! il fallait utiliser une instruction de cumul

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

Discussions similaires

  1. Compter le nombre de fois où la variable est positive
    Par mon pseudo dans le forum SAS Base
    Réponses: 6
    Dernier message: 18/02/2013, 13h59
  2. Compter le nombre de fois ou une variable apparait.
    Par Cyanatide dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 29/03/2011, 12h48
  3. Réponses: 2
    Dernier message: 23/05/2006, 18h45
  4. compter le nombre de fois qu'un fichier a été chargé
    Par phpaide dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/05/2006, 17h51
  5. Réponses: 2
    Dernier message: 06/01/2006, 23h18

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