본문 바로가기
IT

[파이썬에서 SAS BASE 9.4 사용하기]-(feat.Jupyter Notebook)

by 웰러맨 2021. 12. 23.
반응형

안녕하세요, 오늘은 SAS BASE를 사용하시는 분들이

파이썬 환경에서도 SAS BASE9.4를 이용할 수 있도록,

연동 방법 포스팅을 진행하겠습니다.

저처럼 SAS를 좋아하는 사람은 파이썬으로부터 왕따당하는 느낌을 최근에 받았어요 ㅠㅠ

그러다가 좋은 방법이 없을까하다가 이 방법을 찾았습니다 ㅎㅎ

이거 하다가 3일을 날렸습니다 ㅠㅠㅠ

컴퓨터 사양도 낮고 호환도 잘 되지 않아 너무 많은 에러가 있었네요..

그래도 이 글을 보시는 분은 따라만 하시면 정말, 정말 , 쉽게, 연동하실 수 있어요!!

광광 우럭따.

1. SASPY 패키지 설치하기

1.1먼저 탐색기에서 "Anaconda Prompt"를 실행합니다.

위처럼

pip install saspy

명령어를 실행하면, SASPY 패키지가 설치됩니다.

pip install sas-kernel

마찬가지로 위 명령어를 통해 sas kernel을 설치해주세요.

1.2 쥬피터 노트북에서 파이썬을 실행합니다.

아래 명령어로 파이썬에서 "saspy" 패키지를 불러옵니다

import saspy

입력 후 아무런 에러 메세지가 없다면 설치가 잘 된것입니다.

2. saspy 환경구성

saspy를 사용하기 위해선 정말 많은 환경 설정이 필요합니다. 마음 단단히 먹으세요!

2.1 시스템 환경변수 설정

saspy가 java를 잘 찾아가기위해, 시스템 환경변수를 설정합니다.

탐색기에서 "시스템 환경 변수 편집" 실행 > 고급 > 하단의"환경변수(N)" 클릭

아래쪽의 시스템 변수(S) 콘솔에서 "새로만들기(W)" 클릭

변수 이름 : PATH

변수 경로 : C:\Program Files\SASHome\SASFoundation\9.4\core\sasext

기존의 PATH변수에 덮어 씌워도 됩니다.

이후 컴퓨터를 재시작합니다.

2.2 saspy_personal.py 파일 생성

주피터 노트북에서,

Anaconda3\Lib\site-packages\saspy 디렉토리에 들어가시면,

sascfg.py 라는 파일이 있습니다.

sascfg파일은 종종 버전업에 따라 업데이트가 되므로,

이 파일을 복사하여 sascfg_personal.py 라는 파일을 만들어줍니다.

(필수사항입니다.)

그리고 sascfg_personal.py 파일을 열어줍니다.

2.2.1 파라미터 활성화

38줄의 SAS_config_names=['default']#을 붙여 주석 처리를하고,

35줄의 SAS_config_names = ['default', 'ssh', 'iomlinux', 'iomwin', 'winlocal', 'winiomlinux', 'winiomwin', 'http']#을 지워서 활성화 시킵니다.

2.2.2 IOM 경로 연결

157줄의

cpW += ";C:\\Users\\msterling\\AppData\\Local\\Continuum\\Anaconda3\\envs\\py35\\Lib\\site-packages\\saspy\\java\\saspyiom.jar"#을 붙여 비활성화 시키고,

cpW += ";C:\\Users\\본인사용자계정\\Anaconda3\\Lib\\site-packages\\saspy\\java\\saspyiom.jar" 를 붙여넣어 경로를 재설정합니다.

 

2.2.3 CPW 경로 연결

150번대에 가시면

cpW += ";C:\\Program Files\\SASHome\\SASDeploymentManager\\9.4\\products\\deploywiz__94520__prt__xx__sp0__1\\deploywiz\\log4j.jar"

로 된 경로가 4개 있습니다.

그런데 여기서 두번째 줄 오른쪽에 숫자로 된 "94520" 부분이 컴퓨터/sas소프트웨어 별로 다르므로,

자신의 제품에 맞춰 숫자를 바꿔주시기 바랍니다.

2.2.4 JAVA 경로 연결

160번대

winlocal = {'java' : 'java',

JAVA 경로를

winlocal = {'java' : '

C:\\ProgramFiles\\SASHome\\SASPrivateJavaRuntimeEnvironment

\\9.4\\jre\\bin\\java.exe',

로 바꿔줍니다.

3. SAS - Python 연결

sas=saspy.SASsession()

를 입력하여 SASsession을 시작합니다.

window에서는 winlocal을 사용하므로 "winlocal" 을 타이핑합니다.

다음과 같이 SAS가 연결되었다고 뜨면 성공적으로 완료된 것입니다.

3.1 데이터 불러오기

cars = sas.sasdata("CARS","SASHELP")

cars.describe()

명령어를 순서대로 입력하여, 데이터가 잘 불러와지는지 확인합니다.

describe는 데이터 표현 방식중 하나입니다.

4. Console 실행

주피터 노트북으로 돌아가서, "NEW"를 누르면

SAS 콘솔이 생긴 것을 확인할 수가 있습니다.

콘솔이 실행되면 SAS에서 사용하는 프록시져를 입력해볼까요?

저는 PROC MEANS 를 이용하였습니다.

proc means data=sashelp.cars;

run;

을 사용하여 실험해보시기 바랍니다.

그러면 위처럼 짠! 하고 세스에서만 사용할 수 있는 proc을 python에서도 구현할 수 있게 되었습니다!!

짞짞짞!! 다들 정말 고생하셨어요!!

반응형

댓글