머리말
데이터를 분석하여 필요한 정보를 찾아내는 과정에서 가장 먼저 마주하는 어려움은 데이터를 분석하는 데 적합한 형태로 가공하고 정리하는 일차적인 작업이다. 다양한 하드웨어와 소프트웨어 환경에 흩어져 있는 데이터를 추출하여 분석 목적에 맞게 정제하는 일은 생각보다 간단하지 않다. 특히 대규모 빅데이터를 다루는 경우, 파일의 크기나 작업 수행 시간에서 예기치 못한 문제가 발생하기도 하고, 효율적인 프로그래밍 기법을 찾지 않으면 안 되는 상황도 자주 발생한다.
SAS 소프트웨어의 큰 장점 중 하나는 데이터베이스나 워크시트 등 다양한 형태로 저장된 데이터를 한데 모아 분석 목적에 맞게 변환할 수 있는 뛰어난 기능을 갖추고 있다는 점이다. 이 책은 SAS 초심자를 위한 입문서라기보다는 SAS를 활용한 데이터 분석 과정에서 자연스럽게 마주하게 되는 데이터 입출력, 가공, 그리고 효율적인 프로그래밍과 관련된 문제를 해결하는 데 도움을 주기 위한 해설서에 가깝다고 할 수 있다.
먼저 1장에서 3장까지는 책의 전반부로, 비정형 데이터를 다루는 데 유용하게 사용될 수 있는 명령문, 옵션, 함수들과 기술적인 문제들을 다루었다. 1장에서는 INFILE, RETAIN, ARRAY 등 데이터 처리에 유용한 명령문과 데이터 입출력을 위한 IMPORT, EXPORT 프로시저를 설명하였고, 2장에서는 여러 개의 데이터를 결합할 때 자주 사용되는 옵션들을, 3장에서는 문자형과 날짜형 변수를 다루는 데 필요한 연산자와 함수들을 설명하였다.
중반부인 4장부터 7장까지는 데이터 처리를 위한 SAS 언어들을 소개하고 있다. 4장에서는 데이터베이스 검색과 갱신, 보고서 작성을 위한 구조적 질의언어인 SQL(Structured Query Language)을 다루었고, 5장에서는 반복 작업에 유용한 SAS 매크로 언어를, 6장에서는 행렬을 다루는 데 사용되는 IML(Interactive Matrix Language)의 데이터 입출력 관련 기능을 설명하였다. 7장에서는 지금까지 배운 고급 프로그래밍 기법들을 실무에서 어떻게 활용할 수 있는지를 다양한 사례를 통해 다루었다. 이를 통해 실제 분석 업무에서 자주 마주치는 문제 상황에서 유용한 매크로 구문과 SAS 프로그래밍 팁을 익힐수 있을 것이다.
후반부인 8장에서는 웹 브라우저 기반의 SAS Studio를 간략히 소개하고, 이를 통해 기본적인 SAS 프로그래밍 작업을 수행하는 방법을 설명하였다. SAS Studio는 사용자가 직접 프로그램을 작성하고 실행할 수 있을 뿐 아니라, 내장된 사전 정의 작업들을 활용해 데이터를 분석할 수 있게 해준다. 이러한 작업은 SAS 프로시저 기반으로 제공되며, 자주 사용되는 그래프 및 분석 기능에 손쉽게 접근할 수 있다. 또한, 기본 제공 템플릿을 활용해 사용자 고유의 작업을 작성할 수도 있다.
사실 어떤 부분은 지나치다 싶을 정도로 자세히 설명하였다. 누구나 생소한 프로그램의 세계에 처음 발을 들였을 때, 글자나 기호, 점 하나 때문에 생긴 사소하지만 중대한(!) 실수를 찾지 못해 몇 시간을 허비한 경험이 있을 것이다. 이 책에서도 프로그램상의 작은 차이 하나가 초래하는 전혀 다른 결과와 그 의미를 전달하고자 다소 장황하게 설명한 경우가 있다. 그러나 이러한 비교를 통해 미처 생각하지 못했던 점을 발견하는 즐거움을 느낄 수 있으리라 본다.
좋은 책을 위해 최선을 다하였지만 부족한 부분이 있을 수 있다. 이 점은 양해를 바라며 출간 후 나올 수 있는 수정사항 등은 자유아카데미 홈페이지(www.freeaca.com) 자료실에 제공할 예정이니 참고하기를 바란다. 아무쪼록 이 책이 거친 실무의 현장에서 산더미 같은 데이터와 싸우며 정보의 광맥을 캐기 위해 노력하고 있는 분석자들에게 유용하게 사용되기를 기대한다.