SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
KevinC_
Fluorite | Level 6
Hello,

I am reading a field AMT2 ($char10) in a flat file from mainframe. Although it's defined as $char10 in the input statement it contains numeric data only. It also contains a decimal point. (i.e. 10.50 )

INPUT @01 AMT2 $CHAR10

I use 'dollar' in the put statement
PUT @01 AMT2 DOLLAR
and this is what the output looks like: 10.50 .
Notice there is no '$' and there is a '.' at the end

Again, here is the input and the output
input: 10.50
output: 10.50 .

Does anyone know how I can put a '$' at the beginning?

Thank you!
3 REPLIES 3
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
You have a SAS character variable (text string) which contains a numeric value, so you must assign a SAS numeric variable (using a FORMAT for your DOLLAR. formatted output objective), and convert the character string to numeric, using the SAS INPUT function.

The SAS support website hosts SAS documentation and supplemental technical reference documents from SAS user conferences - here is a link example on this topic:

http://support.sas.com/kb/24/590.html


Related SAS DOC reference:

http://support.sas.com/documentation/cdl/en/lrcon/61722/HTML/default/a000780416.htm

Scott Barry
SBBWorks, Inc.
KevinC_
Fluorite | Level 6
Thank you so much!!!
deleted_user
Not applicable
Also when you 'put' the variable you need to add a dot to the end of DOLLAR so that SAS knows it is a format. Without the dot SAS assumes it is a variable name, it creates the variable and outputs it's value (which is obviously missing as you have not assigned anything to it). So SAS puts a dot in the output, i.e. it is tearting it as a missing numeric value.

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 3 replies
  • 2180 views
  • 0 likes
  • 3 in conversation