top of page


SASdecoder™ is a tool for use in data preparation and analysis -- quickly translates specific types of SAS® code to facilitate the reading of raw data.

Writes output as Stata® dictionaries, Stata do-files, or Stat/Transfer™ schema files.

Its purpose is to help in the situation in which you are given SAS code to read raw data, but you don't use SAS; you use Stata or other data-management/analysis facilities.

Version 6.3 is available as of October 1, 2011; see below for details.

A provisional release 6.4 is available as of August 16, 2013. See the Downloads page for more information and a download.

SASdecoder parses certain SAS statements pertaining to the reading of raw data -- INFILE, INPUT, and related statements, as well as VALUE statments under PROC FORMAT -- and translates them to Stata dictionaries, Stata do-files, or Stat/Transfer schema files.

SASdecoder does not read the data; it gives you the tools to enable you to read the data using Stata or Stat/Transfer. Thus, using it is a two-stage process: you translate SAS code to either Stata code or a Stat/Transfer schema file. Then you use these files within their corresponding programs to read the raw data.

The Stata dictionary and do-files are for reading data into Stata. See for more information.

The Stat/Transfer schema files are for use with Stat/Transfer, which can convert data into a great variety of formats. See for more information.

SASdecoder runs on PCs under Windows. It has been tested under Windows XP, Windows Vista, and Windows 7 and 10. Users of other systems can run it on a Windows machine, and copy the output to any system that hosts Stata or Stat/Transfer.

Scope of SAS statements: The SAS statements that SASdecoder accepts (some, in limited form) are: COMMENT, DATA, INFILE, INPUT, LABEL, RUN, FILENAME, LIBNAME, PROC FORMAT, VALUE, FORMAT, INFORMAT, LENGTH, and ATRIB. Accepts three forms of input: Column, Formatted, and List. Also translates PROC FORMAT with VALUE statements into value label definitions. For more information on the capabilities of SASdecoder, please see the Capabilities page.

Download a free trial: SASdecoder is available for free, running in Demo Mode, which omits a randomly-selected set of variables and value labels. Please see the Downloads page to obtain your copy. Then obtain your activation key from the Purchase License page to enable full functionality.

Version 6.3 -- released October 1, 2011 -- introduces the following features:

  • collapse_at_plus option

  • pos1_linemove option

  • string literals span lines, following SAS behavior

  • comment lexing/parsing conforms to SAS behavior

  • macro comments

  • limited_simple_integer_expression for / + # pointercontrol

  • variables in the INPUT statement need not be unique.

  • ranges of existing variables, ranges of numerically-suffixed names, and predefined wildcards allowed in variable lists; a limited set of these are allowed in the INPUT statement

  • grouped format lists in the INPUT statement; also, format multipliers

  • corrections made to the handling of @ and + pointercontrol

  • corrections made to the computation of implicit positions in the presence of format modifiers

Provisional Version 6.4 -- August 16, 2013

non-dictionary option for the generated Stata infile command

accepts an lrecl option on a filename statement 

Note: SAS is a registered trademark of SAS Institute, Inc.;

Essistant Software is not affiliated with SAS Institute, Inc.

Stata is a registered trademark of StataCorp LP;

Stat/Transfer is a trademarked product of Circle Systems, Inc.;

bottom of page