Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- SAS Programming
- /
- Base SAS Programming
- /
- commit in a data step

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-13-2016 03:47 PM

Hi,

Can I do a commit in a data step similar to sql commits?

data tab2;

set tab2;

....

run;

For example, every 1000 rows.

Thanks

Accepted Solutions

Solution

06-13-2016
04:25 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-13-2016 04:01 PM

You may need to provide specific details on what your are attempting.

The OUTPUT statement is executeable and can be conditional so if you do something like:

Data tab3;

set tab2;

if mod(_n_,1000)=0 then output;

run;

you can get get every 1000 record. _n_ is an automatic variable indicating the record read, MOD is a function doing modular arithmetic.

BTW be **very** carefule using the Data table; Set table; construct. Logic errors may mean that you destroyed the data you needed at a later step.

B

All Replies

Solution

06-13-2016
04:25 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-13-2016 04:01 PM

You may need to provide specific details on what your are attempting.

The OUTPUT statement is executeable and can be conditional so if you do something like:

Data tab3;

set tab2;

if mod(_n_,1000)=0 then output;

run;

you can get get every 1000 record. _n_ is an automatic variable indicating the record read, MOD is a function doing modular arithmetic.

BTW be **very** carefule using the Data table; Set table; construct. Logic errors may mean that you destroyed the data you needed at a later step.

B