DsShell icon
---
download installer
(298 KB)
---
See also
dsread, a command-line SAS7BDAT converter
---

---

DsShell

Version 0.1, 2011-11-11

DsShell is a Windows shell extension for working with datasets in the SAS7BDAT file format, as produced by the SAS System, the World Programming System, StatTransfer and others.

With DsShell installed, you can right-click on any supported SAS7BDAT dataset file and convert it to CSV format for import into spreadsheets and other data analysis software.

On Windows XP, DsShell also enables additional columns in Windows Explorer, allowing you to see a dataset's label, the number of observations it has, etc, right in the Explorer window. This feature is not available on Windows Vista or Windows 7 because the relevant bits of Windows have changed - we hope to add equivalent functionality for Vista and 7 soon.

Download

Download the installer and double-click it to install DsShell. You can later uninstall using the usual 'Add/Remove Programs' feature if you wish.

DsShell will work on 32-bit version of Windows from XP onwards.

Limitations

This software should be considered experimental and is not guaranteed to be accurate. You use it at your own risk.

It will only work on Windows-format SAS7BDAT files for now, either uncompressed or using 'CHAR' compression. It should only be used on 'clean' datasets, by which I mean datasets that are the immediate output of a data step or PROC. Using DsShell on other datasets, for example datasets that have been edited using FSEDIT or similar, might lead to strange effects like deleted observations being output.

Another strange effect is that DsShell will happily work on datasets that have a READ password. The password protection in SAS7BDAT files does NOT encrypt the data and DsShell doesn't even check to see whether a password has been set. You should not rely on a READ password to protect your data from prying eyes - use the ENCRYPT option for that. See SAS's rather cryptic warning about this here.

To avoid program crashes when run against non-Windows datasets, DsShell will reject any SAS7BDAT file whose 'platform' identifier is not one of:

  • WIN
  • WIN_PRO
  • WIN_NT
  • WIN_NTSV
  • WIN_SRV
  • WIN_ASRV
  • XP_PRO
  • XP_HOME
  • W32_VSHO
  • W32_VSPRO
  • NET_ASRV
  • NET_DSRV
  • NET_SRV

If you have a Windows SAS7BDAT file with a different platform identifier, please let me know () so that DsShell can be tested against it.

Formats: DsShell ignores most formats and only outputs the underlying numeric and character values. The exceptions are DATE, DATETIME, YYMMDD and TIME, for which values will be converted appropriately, though note that the length specified for the format will be ignored - that is, any DATEn. format will be output in the same format, whether it's DATE9., DATE12. etc.

Compression: DsShell can read datasets compressed with CHAR compression. This is a simple run-length-encoding compression and is the default type when you create a dataset with either the COMPRESS=YES or COMPRESS=CHAR options. The only other documented compression scheme is BINARY, which is only used when COMPRESS=BINARY is specified. Datasets with BINARY compression will still be rejected by DsShell.

Change History

Version 0.1:

  • Initial release.


Comments