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é !
data animal;
input common $ animal $;
datalines;
a Ant
b Bird
c Cat
d Dog
e Eagle
f Frog
;
run;
data plant;
input common $ plant $;
datalines;
a Apple
b Banana
c Coconut
d Dewberry
e Eggplant
f Fig
;
run;
proc sort data=animal; by common; run;
proc sort data=plant; by common; run;
data interleave;
set animal plant;
by common;
run;
proc print data=interleave; run;
1
DATA animal;
2
INPUT common $ animal $;
3
DATALINES;
4
a Ant
5
b Bird
6
c Cat
7
d Dog
8
e Eagle
9
f Frog
10
;
11
RUN;
12
13
DATA plant;
14
INPUT common $ plant $;
15
DATALINES;
16
a Apple
17
b Banana
18
c Coconut
19
d Dewberry
20
e Eggplant
21
f Fig
22
;
23
RUN;
24
25
PROC SORTDATA=animal; BY common; RUN;
26
PROC SORTDATA=plant; BY common; RUN;
27
28
DATA interleave;
29
SET animal plant;
30
BY common;
31
RUN;
32
PROC PRINTDATA=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é !
data animalDupes;
input common $ animal $;
datalines;
a Ant
a Ape
b Bird
c Cat
d Dog
e Eagle
;
run;
data plantDupes;
input common $ plant $;
datalines;
a Apple
b Banana
c Coconut
c Celery
d Dewberry
e Eggplant
;
run;
proc sort data=animalDupes; by common; run;
proc sort data=plantDupes; by common; run;
data interleave;
set animalDupes plantDupes;
by common;
run;
proc print data=interleave; run;
1
DATA animalDupes;
2
INPUT common $ animal $;
3
DATALINES;
4
a Ant
5
a Ape
6
b Bird
7
c Cat
8
d Dog
9
e Eagle
10
;
11
RUN;
12
13
DATA plantDupes;
14
INPUT common $ plant $;
15
DATALINES;
16
a Apple
17
b Banana
18
c Coconut
19
c Celery
20
d Dewberry
21
e Eggplant
22
;
23
RUN;
24
25
PROC SORTDATA=animalDupes; BY common; RUN;
26
PROC SORTDATA=plantDupes; BY common; RUN;
27
28
DATA interleave;
29
SET animalDupes plantDupes;
30
BY common;
31
RUN;
32
33
PROC PRINTDATA=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é !
data animalDupes;
input common $ animal $;
datalines;
a Ant
a Ape
b Bird
c Cat
d Dog
e Eagle
;
run;
data plantMissing2;
input common $ plant $;
datalines;
a Apple
b Banana
c Coconut
e Eggplant
f Fig
;
run;
proc sort data=animalDupes; by common; run;
proc sort data=plantMissing2; by common; run;
data interleave;
set animalDupes plantMissing2;
by common;
run;
proc print data=interleave; run;
1
DATA animalDupes;
2
INPUT common $ animal $;
3
DATALINES;
4
a Ant
5
a Ape
6
b Bird
7
c Cat
8
d Dog
9
e Eagle
10
;
11
RUN;
12
13
DATA plantMissing2;
14
INPUT common $ plant $;
15
DATALINES;
16
a Apple
17
b Banana
18
c Coconut
19
e Eggplant
20
f Fig
21
;
22
RUN;
23
24
PROC SORTDATA=animalDupes; BY common; RUN;
25
PROC SORTDATA=plantMissing2; BY common; RUN;
26
27
DATA interleave;
28
SET animalDupes plantMissing2;
29
BY common;
30
RUN;
31
32
PROC PRINTDATA=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.
« 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. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.