Quotidien Shaarli

Tous les liens d'un jour sur une page.

February 16, 2021

Étape Data (Merge) ou SAS SQL (JOIN)??

Etape Data (Merge)

  • Les fichiers de données utilisés doivent au moins avoir une clé similaire.
  • Si les tables ne contiennent pas les mêmes noms de variables, l’étape data ne peut pas être utilisée. (possibilité d’utiliser proc SQL)
  • S’assurer qu’il n’y a pas de doublons
  • Une étape de tri des données (proc sort) est nécessaire avant l’utilisation de l’étape data merge.
  • Il existe 7 façons pour réaliser un match-fusion. Pour autant de fichier données possible.
  • Ne pas oublier de trier les données en préalable en utilisant la même clé!!!

Fusion simple

DATA OUT ;
   MERGE ONE TWO ;
   BY ID ;
RUN ;

Tous les cas de fusion

OPTIONS MERGENOBY=WARN MSGLEVEL=I ;
DATA ONES TWOS IN_BOTH NO_MATCH1 NO_MATCHé ALL_RECS NO_MATCH ;
   MERGE ONE(IN=IN1) TWO(IN=IN2) ;
    BY ID ;

    IF IN1=1 THEN OUTPUT ONES ;
    IF IN2=2 THEN OUTPUT TWOS ;
    IF (IN1=1 AND IN2=1) THEN OUTPUT IN_BOTH ;
    IF (IN1=0 AND IN2=1) THEN OUTPUT NO_MATCH1 ;
    IF (IN1=1 AND IN2=0) THEN OUTPUT NO_MATCH2 ;
    IF (IN1=1 OR IN2=1) THEN OUTPUT ALL_RECS;
    IF (IN1+IN2)=1 THEN OUTPUT NO_MATCH ;
RUN ;