Enfant, vous avez peut-être joué à ce jeu où les mots d’une colonne sont à relier avec les mots d’une autre colonne. Pour s’amuser, on peut tracer toutes les combinaisons possibles. Avec 4 valeurs à gauche et 3 valeurs à droite, 12 traits sont tracés.
Le produit cartésien c’est la même chose : créer toutes les combinaisons possibles. Ce mot fait parti du vocabulaire pour combiner deux bases de données.
Proc SQL ou data step ? : Seule la procédure SQL permet de faire cette manipulation occasionnelle. Le MERGE du data step ne peut pas.
1. Un exemple : dans l’exemple ci-dessous, le premier jeu de données a trois lignes d’observations et le second en a deux.
–ONE–
x y
1 11
2 22
3 33
—–TWO—–
a b c
9 8 3
99 5 2
Pour chaque ligne du premier jeu, on veut les deux observations du second jeu. Cela donne un nouveau data set avec 3*2 lignes d’observations.
x y a b c
1 11 9 8 3
1 11 99 5 2
2 22 9 8 3
2 22 99 5 2
3 33 9 8 3
3 33 99 5 2
2. Une procédure SAS : la procédure SQL liste les variables des deux jeux de données. Le nom des deux data sets sont séparés pas une virgule.
proc sql;;
select x, y, a, b, c
from one, two;
quit;