Bonjour à tous,
J'effectue 4 tests sous SAS et j'obtiens 4 tables de résultats. Je veux obtenir un listing sous format Word avec toutes les erreurs relevées par sujet.
Je voudrais obtenir sur une même page toutes les erreurs relevées par sujet et par tests.
Avec le programme ci-dessous, j'obtiens bien toutes les erreurs par sujet et par test mais les tests n'apparaissent pas sur la même page pour un même sujet.
Exemple:
le sujet 001 a une erreur relevée au cours du test 1 et une autre sur le test 4.
le sujet 002 a une erreur relevée au cours du test 1 et une autre sur le test 2.
le sujet 003 a une seule erreur relevée au cours du test 2.
J'obtiens donc :
page 1/5: erreurs du sujet 001 pour le test1
page 2/5: erreurs du sujet 002 pour le test1
page 3/5: erreurs du sujet 003 pour le test2
page 4/5: erreurs du sujet 001 pour le test4
page 5/5: erreurs du sujet 002 pour le test2
Alors que je voudrais:
page 1/3: erreurs du sujet 001 pour le test1 et le test4
page 2/3: erreurs du sujet 002 pour le test1 et le test2
page 3/3: erreurs du sujet 003 pour le test2
Mes 4 tables sont triées par SUJET/ TEST.
Je ne peux pas les merger car les colonnes sont différentes. Quelqu'un a t-il une solution pour mon problème ?
Merci par avance :-)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 PROC SORT DATA=TEST1; BY SUJET TEST; RUN; PROC SORT DATA=TEST2; BY SUJET TEST; RUN; PROC SORT DATA=TEST3; BY SUJET TEST; RUN; PROC SORT DATA=TEST4; BY SUJET TEST; RUN; ODS LISTING CLOSE; ODS ESCAPECHAR='^'; Title "PROJET XX" j=r 'Page ^{thispage}/^{lastpage}'; Title2 "Listing des erreurs relevées pour le sujet &subjid."; OPTIONS NODATE orientation=landscape ; ODS RTF FILE="MON_CHEMIN_ACCES\Listing erreurs c%sysfunc(today(),date9.).rtf"; PROC REPORT DATA=TEST1 nowd; COLUMN SUJET FIELD PAGE_NUM SECTION_LG2 PAGE_LG2 TITLE_LG2 NumReelVISITE NumReelDate DATE Message; DEFINE FIELD / display 'Champ associé'; DEFINE PAGE_NUM / display 'Page'; DEFINE SECTION_LG2 / display 'Rubrique '; DEFINE PAGE_LG2 / display 'Intitulé de la page'; DEFINE TITLE_LG2/ display 'Intitulé du champ'; DEFINE NUMREELVISITE / display 'Ordre réel des visites'; DEFINE NUMREELDATE / display 'Ordre réel des dates'; DEFINE MESSAGE / display 'Erreur d''index'; DEFINE DATE / display 'Date'; DEFINE SUJET / order order=DATA noprint; BREAK AFTER SUJET / PAGE; BY SUJET TEST INTITULE ; RUN; PROC REPORT DATA=TEST2 nowd ; COLUMN PATIENT FIELD PAGE_NUM SECTION_LG2 PAGE_LG2 TITLE_LG2 NumReelADM NumReelDate DATE Message; DEFINE FIELD / display 'Champ associé'; DEFINE PAGE_NUM / display 'Page'; DEFINE SECTION_LG2 / display 'Rubrique'; DEFINE PAGE_LG2 / display 'Intitulé de la page'; DEFINE TITLE_LG2/ display 'Intitulé du champ'; DEFINE NUMREELADM / display 'Ordre réel des administrations'; DEFINE NUMREELDATE / display 'Ordre réel des dates'; DEFINE MESSAGE / display 'Erreur d''index' ; DEFINE DATE / display 'Date '; DEFINE SUJET / order order=DATA noprint; BREAK AFTER SUJET / PAGE; BY SUJET TEST INTITULE ; RUN; PROC REPORT DATA=TEST3 nowd; COLUMN PATIENT FIELD PAGE_NUM SECTION_LG2 PAGE_LG2 TITLE_LG2 NumReelADM NumReelDate DATE Message; DEFINE FIELD / display 'Champ associé'; DEFINE PAGE_NUM / display 'Page'; DEFINE SECTION_LG2 / display 'Rubrique'; DEFINE PAGE_LG2 / display 'Intitulé de la page'; DEFINE TITLE_LG2/ display 'Intitulé du champ'; DEFINE NUMREELADM / display 'Ordre réel des administrations'; DEFINE NUMREELDATE / display 'Ordre réel des dates'; DEFINE MESSAGE / display 'Erreur d''index' ; DEFINE DATE / display 'Date '; DEFINE SUJET / order order=DATA noprint; BREAK AFTER SUJET / PAGE; BY SUJET TEST INTITULE ; RUN; PROC REPORT DATA=TEST4 nowd; COLUMN PATIENT FIELD PAGE_NUM SECTION_LG2 PAGE_LG2 TITLE_LG2 DATE DATEJ Message; DEFINE FIELD / display 'Champ associé'; DEFINE PAGE_NUM / display 'Page'; DEFINE SECTION_LG2 / display 'Rubrique '; DEFINE PAGE_LG2 / display 'Intitulé de la page'; DEFINE TITLE_LG2/ display 'Intitulé du champ'; DEFINE MESSAGE / display 'Erreur d''index' ; DEFINE DATE / display 'Date'; DEFINE DATEJ / display 'Date d''éxécution'; DEFINE SUJET / order order=DATA noprint; BREAK AFTER SUJET / PAGE; BY SUJET TEST INTITULE ; RUN; FOOTNOTE HEIGHT=1 "Listing établi le %sysfunc(left(%sysfunc(today(),FRADFWKX.))) à %sysfunc(time(),time5.) ." ; ODS RTF CLOSE; ODS LISTING ;
Partager