Sas merge datasets
  1. Sas Merge Left Join
  2. Sas Merge Statement
Previous PageNext Page

Dear everyone, I tried to merge two datasets, using 'proc sql'. Two datasets have two common variables: ID and Sharetype. Below is my code: proc sort data=Institution by ID Sharetypr; proc sort data=Stock; by ID sharetype; run; proc sql; create table InstitutionStock as select L., R. from Institu.

SAS Data Set Options

  • Merging with a BY statement enables you to match observations according to the values of the BY variables that you specify. Before you can perform a match-merge, all data sets must be sorted by the variables that you want to use for the merge. In order to understand match-merging, you must understand three key concepts.
  • Jan 31, 2019 Merge two data sets in SAS To merge two or more data sets in SAS, you must first sort both data sets by a shared variable upon which the merging will be based, and then use the MERGE statement in your DATA statement.
Creates a Boolean variable that indicates whether the data setcontributed data to the current observation.
DATA step
Observation Control
Use with the SET, MERGE, MODIFY, and UPDATEstatements only.
Syntax Description
See Also



Sas merge statement

Syntax Description


names the new variable whose value indicateswhether that input data set contributed data to the current observation. Pdf merger secure. Within the DATA step, the value of the variable is 1 if the data set contributedto the current observation, and 0 otherwise.


Specify the IN= data set option in parenthesesafter a SAS data set name in the SET, MERGE, MODIFY, and UPDATE statementsonly. Values of IN= variables are available to program statements during theDATA step, but the variables are not included in the SAS data set that isbeing created, unless they are assigned to a new variable.

When you use IN= with BY-group processing, andwhen a data set contributes an observation for the current BY group, the IN=value is 1. The value remains as long as that BY group is still being processedand the value is not reset by programming logic.


In this example, IN= creates a new variable, OVERSEAS,that denotes international flights. The variable I has a value of 1 when theobservation is read from the NONUSA data set. Otherwise, it hasa value of 0. The IF-THEN statement checks the value of I to determine whetherthe data set NONUSA contributed data to the current observation. If I=1, thevariable OVERSEAS receives an asterisk (*) as a value.

Sas Merge Left Join

See Also


BY-GroupProcessing in SAS Language Reference: Concepts

Sas Merge Statement

Previous PageNext PageTop of Page
⇐ ⇐ Mee6 Help