BookmarkSubscribeRSS Feed
fabdu92
Obsidian | Level 7

Hi,

 

I have an issue with some numbers which represent amounts while exporting in Excel like this:

proc export data=INF_SUM
outfile="/data/appli/file/ggg.xls"
dbms=xls replace;
sheet="catalog";
run;

In my sas table INF_SUM I have amounts like for example "43.87" whereas on ggg.xls it is transformed like "43.86895", which don't represent an amount anymore if you don't manually ask Excel to transform the column concerned.

 

Do you know I can do to keep formats?

I work with Excel 2010 and SAS Enterprise Guide 7.1

 

Thank you for help

2 REPLIES 2
Kurt_Bremser
Super User

If you want the numbers rounded to .01, you should do so before exporting. SAS exports numbers as raw values to not lose data (dates and datetimes usually retain date formatting).

data INF_SUM;
set INF_SUM;
amount = round(amount,.01);
run;

I you don't want to round, you can always export to a text format (csv) in a data step and use the proper format in the put statement.

RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

 

Just to add, if you want nice looking Excel output then rather than use Export which is pretty basic, use ods tagsets.excelxp:

http://support.sas.com/resources/papers/proceedings13/316-2013.pdf

 

You can specify Excel formats and such like. 

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1382 views
  • 2 likes
  • 3 in conversation