This tutorial shows how to use PROC DATASETS in SAS, along with examples.
The PROC DATASETS
statement in SAS is used to manipulate SAS datasets. It can be used to perform a variety of operations on datasets, such as copying, renaming, deleting, and modifying datasets.
Syntax of PROC DATASETS
The syntax of PROC DATASETS is as follows:
proc datasets library=mylibrary; run; quit;
If you don't use the library=
option, SAS will consider the WORK library as the default library for managing datasets in the PROC DATASETS.
Sample Datasets
Let's create two datasets in the WORK library from the SASHELP library. These datasets will be used in further examples.
data cars; set sashelp.cars; run; data class; set sashelp.class; run;
Display a list of all the datasets in a library
To view a list of all the datasets in a specific library, you can use PROC DATASETS. Here we are looking in the WORK library.
proc datasets library=work; run; quit;
In the image above, the first two highlighted ones are datasets. Others are item store and catalogs. Item store is a binary system file created by the SAS. Catalogs are SAS files that can contain macros, formats, and other SAS objects.
To display only datasets in the results window, you can use memtype=data.
proc datasets library=work memtype=data; run; quit;
How to copy all the datasets in a library
Suppose you have a library named mylib
and you want to copy all the datasets from the WORK library to "mylib" library.
Create library if you already don't have. Specify location in the library as per your location.
libname mylib '/home/deepanshu88us0/';
proc datasets; copy in=work out=mylib; run; quit;
How to copy all the datasets from a library
Suppose you have a library named mylib
and you want to copy all the datasets from the WORK library to "mylib" library.
Create library if you already don't have. Specify location in the library as per your location.
libname mylib '/home/deepanshu88us0/';
proc datasets; copy in=work out=mylib; run; quit;
How to copy some datasets from a library
Suppose you want to copy only specific datasets from the WORK library to "mylib" library. You can mention them in the SELECT
statement.
proc datasets; copy in=work out=mylib; select cars class; run; quit;
How to move datasets from a library
We can use the MOVE
option in the COPY statement to move a dataset from one library to another. HERE "CARS" dataset has been moved to the "mylib" library from the "work" library.
proc datasets; copy in=work out=mylib move; select cars; run; quit;
To check if the moved dataset is available in the WORK library, we can run the command below. We can see that CARS dataset is no more available in the WORK library. "MOVE" option is like cut-paste from a old libarry to a new library.
proc datasets library=work memtype=data; run; quit;
How to delete the whole library in SAS
We can use the KILL
option in PROC DATASETS to delete the whole SAS library. Here we are removing the library named "mylib".
proc datasets lib=mylib kill; run; quit;
How to delete datasets from a library
We can use the DELETE
statement in the PROC DATASETS to delete specific datasets from a SAS library. Here we are deleting "CLASS" dataset from the "WORK" library.
proc datasets lib=work memtype=data; delete class; run; quit;
How to rename SAS dataset
We can use the CHANGE old-dataset-name = new-dataset-name
statement in the PROC DATASETS procedure to rename a SAS dataset. In the code below, we are renaming "cars" dataset to "automobiles".
data cars; set sashelp.cars; run; proc datasets lib=work nolist; change cars = automobiles; quit; run;
How to combine SAS dataset
In the code below, we are combining CARS dataset to itself (doubling it). You can follow the same approach if you have two datasets with the same variables and you need to combine them.
- Appended the file WORK.CARS to itself.
- There were 428 observations read from the data set WORK.CARS.
- Added 428 observations.
- The data set WORK.CARS now has 856 observations.
data cars; set sashelp.cars; run; proc datasets lib=work; append out=cars data=cars; run; quit;
How can copy multiple datasets from teradata to a single dataset in sas library ? For Eg we have 3 datasets as X,Y,Z (teradata side) , need to create a single table as A which includes appended data from X,Y,Z ?
ReplyDelete