Publié le :
ETL CREATION_INTERNE

Instruction KEEP

Ce code est également disponible en : Deutsch English Español
En attente de validation
L'instruction KEEP permet à une étape DATA de n'écrire que les variables spécifiées dans un ou plusieurs jeux de données SAS©. L'instruction KEEP s'applique à tous les jeux de données SAS© créés au sein de la même étape DATA et peut apparaître n'importe où dans l'étape. Si aucune instruction KEEP ou DROP n'apparaît, tous les jeux de données créés dans l'étape DATA contiennent toutes les variables.
Si la même variable est listée à la fois dans les instructions DROP et KEEP, DROP a la précédence sur KEEP, quel que soit l'ordre des instructions, et la variable est supprimée.
Note: N'utilisez pas les instructions KEEP et DROP dans la même étape DATA.
Comparaisons:
* L'instruction KEEP ne peut pas être utilisée dans les étapes PROC SAS©. L'option de jeu de données KEEP= peut l'être.
* L'instruction KEEP s'applique à tous les jeux de données de sortie nommés dans l'instruction DATA. Pour écrire différentes variables dans différents jeux de données, vous devez utiliser l'option de jeu de données KEEP=.
* L'instruction DROP est une instruction parallèle qui spécifie les variables à omettre du jeu de données de sortie.
* Les instructions KEEP et DROP sélectionnent les variables à inclure ou à exclure des jeux de données de sortie. L'instruction IF de sous-ensemble sélectionne les observations.
* Ne confondez pas l'instruction KEEP avec l'instruction RETAIN. L'instruction RETAIN fait en sorte que SAS© conserve la valeur d'une variable d'une itération de l'étape DATA à l'itération suivante. L'instruction KEEP n'affecte pas la valeur des variables, mais spécifie uniquement quelles variables inclure dans les jeux de données de sortie.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) ou SASHELP.

1 Bloc de code
DATA STEP Data
Explication :
Cet exemple montre comment utiliser l'instruction KEEP pour spécifier les variables à conserver dans un nouveau jeu de données `employees_subset`. Seules les variables spécifiées (`name`, `address`, `city`, `state`, `zip`, `phone`) seront incluses dans le jeu de données final.
Copié !
1DATA employees;
2 INPUT name $ address $ city $ state $ zip $ phone $;
3 DATALINES;
4John Doe 123 Main St Anytown CA 90210 555-1234
5Jane Smith 456 Oak Ave Othercity NY 10001 555-5678
6;
7RUN;
8 
9DATA employees_subset;
10 SET employees;
11 keep name address city state zip phone;
12RUN;
2 Bloc de code
DATA STEP Data
Explication :
Cet exemple utilise l'instruction KEEP pour inclure uniquement les variables `name` et `avg` dans le jeu de données de sortie `average`. Les variables `score1` à `score20`, à partir desquelles `avg` est calculé, ne sont pas écrites dans le jeu de données `average`.
Copié !
1DATA scores;
2 INPUT name $ score1-score20;
3 DATALINES;
4Alice 85 90 78 92 88 76 95 89 80 82 77 91 85 93 86 79 90 84 87 94
5Bob 70 65 72 75 68 80 73 78 71 76 69 81 74 79 70 82 75 77 71 80
6;
7RUN;
8 
9DATA average;
10 SET scores;
11 keep name avg;
12 avg=mean(of score1-score20);
13RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« 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. »