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)
Ci dessous la table "nbre_modif"
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;
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.
Merci si vous avez une solution à me proposer
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;
Partager