- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
proc sql;
create table size as
select*from dictionary.tables
where libname="SASHELP";
quit;
proc format;
picture dd low - high="999999MB";
run;
data data;
set size;
size=filesize*(1024*1024);
keep memname filesize size;
format size dd.;
run;
check out the above program....is it right ?
if it is right ...i am not getting accurate result.....
please help by modifying the program.....give the best suggetions....
thank you inadvance.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Change to this:
size = filesize / 1024 / 1024;
Filesize contains the number of bytes. Dividing by 1024 gives you KB, dividing again gives you MB.
One more divsion would give you GB.
You could even use a multiplicator in the format and assign the format directly to filesize.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Change to this:
size = filesize / 1024 / 1024;
Filesize contains the number of bytes. Dividing by 1024 gives you KB, dividing again gives you MB.
One more divsion would give you GB.
You could even use a multiplicator in the format and assign the format directly to filesize.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Some things helping us to help you:
- use {i} or running-man icon to post formatted code, this increases readability
- explain the expected result
The SAS environment i have access to prints the following error message:
40
41 data data;
____
57
ERROR 57-185: DATA is not allowed in the DATA statement when option DATASTMTCHK=ALLKEYWORDS. Check for a missing semicolon in the
DATA statement, or use DATASTMTCHK=NONE.
After renaming the dataset the numbers seem to be to high. Maybe using the standard format sizekmgw.d is what you need.