Posted: Mon Dec 05, 2005 10:59 pm Post subject: SAS-limitations
Hi,
I am new to SAS(or is SAS new to me??).I want to know the strengths and limitations of SAS.Is it a complete language by itself,like COBOL,Easytrieve...
Joined: 07 Oct 2005 Posts: 30 Topics: 2 Location: Texas
Posted: Tue Dec 06, 2005 8:36 am Post subject:
If you have a programming background, SAS can be a very powerful programming language (compiles on the fly). I'm not a PL1 programmer, but people say the SAS language is very similar in structure - however - not in the way it processes records.
The DATA step in SAS gives you access to the full power of the Base engine, allowing you to manipulate records in just about any way you want. However, you must understand how the DATA step processes records. That is, each record is passed through every line of code in the step before the next record is processed (very much a loop if you like). This is the default behavior, and can be changed based on your code. The language set also includes a very powerful MACRO facility that allows complete automation of redundant and repetitive code, code replacement on the fly, and symbolic replacement of parameters.
There are also a full set of PROCEDURE steps, called PROCS, that allow you to do reporting and analysis with very little code. PROCS like SUMMARY, FREQ, REPORT, PRINT, and UNIVARIATE will read a SAS table and produce all sorts of statistical measures, analytical and reporting included. There is also a PROC SQL that allows you to use SQL instead of SAS code to manipulate records.
Now on to the strengths: IMO, the best part of SAS is it's platform independence. SAS runs on all major OS platforms with very minor adjustments to your code (however it must be licensed on each platform). It is also capable of reading all major database and file formats through database engines and ODBC. This makes it a great BI/Analytical tool for analysts when it is used to exploit data warehouses, marts, and just about any other form of data storage. For example, with SAS licensed on Windows, UNIX, and Mainframe, you can quite easily control SAS sessions from one platform and process records on a different platform, including moving tables from platform to platform. Very powerful stuff.
Weaknesses: Again, IMO. SAS can be pricey to license (it has a yearly lease type of fee structure), depending on the platform, with mainframe being one of the more expensive. Some will say that SAS is more resource dependent than other languages - and this may be true - but it is a 4GL and does need to compile as it runs. Programmers might also say that SAS is not the best tool when it comes to flat file manipulation. While SAS is very capable of manipulating and processing flat files, it may not be a good substitute for some of the mainframe utilities, and other languages like EZtrieve when it comes to raw speed. However, I would add that the more complex you need to get, SAS becomes more attractive.
I have combined EZT and SAS in multi step jobs, also SYNCSORT and FileAid in order to increase the speed of overall processing. I really need to add SAS at the back-end in these cases because my final output is usually a SAS table.
A couple of minor points: SAS easily integrates with REXX. SAS supports ISPF calls, so SAS, like COBOL, can be used to write an ISPF Dialog application. The Output Delivery System (ODS) provides an easy way to prepare data for various output formats (HTML, XML, CSV, RTF, PDF, etc.).
Joined: 07 Oct 2005 Posts: 30 Topics: 2 Location: Texas
Posted: Thu Dec 08, 2005 6:55 am Post subject:
The only thing you can do is pick up SAS Learning Edition for about $125 at major book stores. It has a 4 year license, and is limited to processing 1,000 rows. It's geared towards students and is the best way to get hands on experience without having to buy a production license.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum