Ne pas confondre avec RETAIN : C'est une confusion fréquente chez les débutants. KEEP décide de ce qui va sur le disque dur à la fin du programme. RETAIN décide de ce que SAS garde en mémoire vive (RAM) entre deux lignes de calcul. L'un gère la visibilité, l'autre gère la mémoire temporelle.
Type : CREATION_INTERNE
Les exemples utilisent des données générées (datalines) ou SASHELP.
| 1 | DATA employees; |
| 2 | INPUT name $ address $ city $ state $ zip $ phone $; |
| 3 | DATALINES; |
| 4 | John Doe 123 Main St Anytown CA 90210 555-1234 |
| 5 | Jane Smith 456 Oak Ave Othercity NY 10001 555-5678 |
| 6 | ; |
| 7 | RUN; |
| 8 | |
| 9 | DATA employees_subset; |
| 10 | SET employees; |
| 11 | keep name address city state zip phone; |
| 12 | RUN; |
| 1 | DATA scores; |
| 2 | INPUT name $ score1-score20; |
| 3 | DATALINES; |
| 4 | Alice 85 90 78 92 88 76 95 89 80 82 77 91 85 93 86 79 90 84 87 94 |
| 5 | Bob 70 65 72 75 68 80 73 78 71 76 69 81 74 79 70 82 75 77 71 80 |
| 6 | ; |
| 7 | RUN; |
| 8 | |
| 9 | DATA average; |
| 10 | SET scores; |
| 11 | keep name avg; |
| 12 | avg=mean(of score1-score20); |
| 13 | RUN; |