Tuesday, January 24, 2012

SAS on 64-Bit Ubuntu VM

From atomicvindaloo.com, here is a scenario that may interest some readers: installing SAS 9.3 on “a 64-bit Ubuntu in a Virtualbox machine running on 32-bit XP.”

Thursday, January 19, 2012

Professional SAS Programming Shortcuts Changes and Proposed Table of Contents

I heard from the warehouse a week ago that the last box of Professional SAS Programming Shortcuts had shipped out. Don’t worry, there are still copies in the channel, available for purchase at the usual places, and in a pinch, there is a small pile of slightly hurt copies at the publisher. But with the current edition sold out, at least at the publisher, it made me think more urgently about what could be different in the next edition of the book.

I took a look at the book, and a few of the examples and techniques that were current in 2005 will have to be taken out now. To begin with, the Global Distances example is no longer needed now that SAS has added a function to do the same thing. And there are other examples scattered throughout the book that are in the same boat. It just isn’t a surprise when SAS introduces new functions and other features to make our lives easier.

I also think it is about time to scratch the user interface programs from the book. As programmers, we have more options than ever when it comes to developing a user interface, so the fact that SAS will let us create a text-only user interface design at no extra charge is not much more than a curiosity at this point — for most of us, anyway.

Meanwhile, it is no secret that the Internet has become more important. When I asked around, the recurring theme in the requests was output. Readers asked for more details on some subjects I barely touched on in previous editions, especially ODS, HTML, and XML. I will try to come up with short examples to show how easy it is to do the basic things in these areas. There were also requests specifically for more information on spreadsheet files. Apparently, passing data around in spreadsheet form has become as commonplace in the corporate workplace as printouts and handwritten documents were five years ago. I know it has been an increasing part of my own work.

Taking all the requests into account, this is the proposed (and still very tentative) table of contents for the 3rd edition of Professional SAS Programming Shortcuts (the mostly-new chapters in red):


  1. The Log
  2. Program Files
  3. Startup
  4. System Options
  5. Libraries
  6. Data Set Options
  7. Indexes
  8. Actions on SAS Data Sets
  9. Data Type and Length
  10. Text Data Files
  11. Data Fields
  12. Delimited Files
  13. Hierarchical Files
  14. Binary Files
  15. Value Formats
  16. Value Informats
  17. Picture Formats for Numbers
  18. Format Catalogs and Control Data Sets
  19. Time
  20. Informats and Formats for Time
  21. International Date Formats
  22. Picture Formats for Time
  23. Validation
  24. Strings
  25. Parsing
  26. Variable-Length Strings
  27. Foreign Data Types
  28. Codes
  29. Text Encryption
  30. Discrete Binary Encoding
  31. Bitfields
  32. Numeric Effects
  33. Missing Values
  34. Boolean Values
  35. Financial Calculations
  36. Time Conversions
  37. Time Arithmetic
  38. Extending the Observation Loop
  39. Loops
  40. Character Loops
  41. Subsetting and Sampling
  42. SQL
  43. Sorting
  44. Groups
  45. Incomplete Data
  46. Transposing
  47. Frequency Tables
  48. Descriptive Statistics
  49. Summary Statistics in Computations
  50. Type Conversion
  51. Combining Data
  52. Table Lookup
  53. Table Lookup From SAS Data Files
  54. Value Formats for Table Lookup
  55. Calendars
  56. Multiple Text Files
  57. Print Files
  58. Table Reports
  59. Summary Reports
  60. Data Step Views
  61. Macro Variables
  62. Macros
  63. Macro Programming
  64. Program Parameters
  65. Generating Program Statements
  66. Control Reports
  67. Cleanup
  68. Efficiency
  69. ODS
  70. ODS Objects
  71. ODS Destinations
  72. HTML
  73. ODS Style
  74. Pages and Printing
  75. XML
  76. The XML Engine
  77. Tagsets
  78. Internet Services
  79. Spreadsheets
  80. Word Processing and Email
  81. Text Processing
  82. Text Analysis
  83. Random Numbers
  84. Simulations
  85. Data Center Techniques
  86. Porting Files and Data
  87. Porting SAS Programs
  88. Classic Problems