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 http://www.stata.com/ 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 http://www.circlesys.com/ 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.
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.; http://www.sas.com/
Essistant Software is not affiliated with SAS Institute, Inc.