Publié le :

Exemples : Entrelacer des Données

Ce code est également disponible en : Deutsch English Español
En attente de validation
L'entrelacement de jeux de données SAS© est une technique qui permet de combiner des observations de plusieurs jeux de données en un seul, en respectant l'ordre défini par une ou plusieurs variables communes spécifiées dans l'instruction BY. Pour garantir un entrelacement correct, il est impératif que tous les jeux de données d'entrée soient préalablement triés (à l'aide de PROC SORT) ou indexés selon la même variable ou les mêmes variables BY. Le processus copie les observations des jeux de données d'origine dans le jeu de données de sortie, en maintenant l'ordre séquentiel des valeurs de la variable BY. Si des valeurs de la variable BY sont dupliquées entre les jeux de données d'entrée, l'ordre dans lequel les jeux de données sont listés dans l'instruction SET déterminera l'ordre des observations correspondantes dans la sortie. Si un jeu de données d'entrée contient des variables non présentes dans les autres, les valeurs correspondantes dans le jeu de données de sortie seront nulles. Le nombre total d'observations dans le jeu de données de sortie correspond à la somme des observations de tous les jeux de données d'entrée.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) pour créer les jeux de données SAS nécessaires à la démonstration de l'entrelacement.

1 Bloc de code
DATA STEP / PROC SORT Data
Explication :
Cet exemple crée deux jeux de données, 'animal' et 'plant', et les trie par la variable commune 'common'. Ensuite, l'étape DATA entrelace ces jeux de données en utilisant l'instruction BY. Le jeu de données de sortie 'interleave' contient les observations des deux jeux de données, ordonnées par 'common'.
Copié !
1DATA animal;
2 INPUT common $ animal $;
3 DATALINES;
4a Ant
5b Bird
6c Cat
7d Dog
8e Eagle
9f Frog
10;
11RUN;
12 
13DATA plant;
14 INPUT common $ plant $;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19d Dewberry
20e Eggplant
21f Fig
22;
23RUN;
24 
25PROC SORT DATA=animal; BY common; RUN;
26PROC SORT DATA=plant; BY common; RUN;
27 
28DATA interleave;
29 SET animal plant;
30 BY common;
31RUN;
32PROC PRINT DATA=interleave; RUN;
2 Bloc de code
DATA STEP / PROC SORT Data
Explication :
Cet exemple démontre l'entrelacement de jeux de données ('animalDupes' et 'plantDupes') qui contiennent des valeurs dupliquées pour la variable BY 'common'. Les jeux de données sont triés avant l'entrelacement. L'ordre des jeux de données dans l'instruction SET influe sur l'ordre des observations avec les mêmes valeurs de 'common' dans le jeu de données de sortie. Un exemple supplémentaire avec l'ordre 'plantDupes animalDupes' est fourni pour illustrer cet impact.
Copié !
1DATA animalDupes;
2 INPUT common $ animal $;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantDupes;
14 INPUT common $ plant $;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19c Celery
20d Dewberry
21e Eggplant
22;
23RUN;
24 
25PROC SORT DATA=animalDupes; BY common; RUN;
26PROC SORT DATA=plantDupes; BY common; RUN;
27 
28DATA interleave;
29 SET animalDupes plantDupes;
30 BY common;
31RUN;
32 
33PROC PRINT DATA=interleave; RUN;
3 Bloc de code
DATA STEP / PROC SORT Data
Explication :
Cet exemple illustre l'entrelacement de jeux de données ('animalDupes' et 'plantMissing2') où la variable BY 'common' contient des valeurs présentes dans un jeu de données mais pas dans l'autre (par exemple, 'd' dans 'animalDupes' et 'f' dans 'plantMissing2'). Après le tri, l'étape DATA entrelace les jeux de données. Les variables qui ne sont pas présentes dans une observation spécifique d'un jeu de données d'entrée reçoivent des valeurs manquantes dans le jeu de données de sortie.
Copié !
1DATA animalDupes;
2 INPUT common $ animal $;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantMissing2;
14 INPUT common $ plant $;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19e Eggplant
20f Fig
21;
22RUN;
23 
24PROC SORT DATA=animalDupes; BY common; RUN;
25PROC SORT DATA=plantMissing2; BY common; RUN;
26 
27DATA interleave;
28 SET animalDupes plantMissing2;
29 BY common;
30RUN;
31 
32PROC PRINT DATA=interleave; RUN;
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.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved


Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« Utilisez l'entrelacement plutôt que le MERGE lorsque vous voulez empiler des données historiques (ex: ventes de 2024 et ventes de 2025) tout en gardant un ordre chronologique strict. C'est beaucoup plus performant et moins risqué qu'une concaténation suivie d'un tri global, car vous profitez du fait que vos sources sont déjà triées. »