BookmarkSubscribeRSS Feed
kadoya88
Calcite | Level 5

SAS Viya Programmingでコーディング前処理した加工データを

Visual Analyticsで使用したいです。

それぞれのCASへの接続方法はわかるのですが、データ連携をするには

どのようにライブラリ設定、データコネクトをすればよいでしょうか。

2 REPLIES 2
Katsunari
Fluorite | Level 6

データを加工して,CASライブラリにUPするプログラムをスケジュール実行して,VAで利用するのがよいのではないでしょうか?

 

こちらにスケジュール実行手順が記載されています.

https://communities.sas.com/t5/SAS-Communities-Library/SAS-Viya-3-4-Schedule-SAS-Studio-5-1-Studio-V...

HouJun123
SAS Employee

こんにちは。

 

PythonとSWATを使って、CASにデータをアップロードする場合は、下記のコードをご参考ください。

下記のコードを実行終わったら、CASを更新すればデータが出てきます。

もしなんか質問があれば、また聞いてください。

 

import swat
import pandas as pd
import numpy as np

 

swatURL = "xxxxxxx"  #SAS ViyaのCASサーバのURL
server = swatURL  

filePath = "xxxx.csv" #読み込むファイルのパス

fileNameOnCas = "MyPythonDataSASDemo01" #CASサーバー上に保存するときのファイル名

user = "xxxx" #SAS ViyaをログインするためのID
password = "xxxx" #SAS ViyaをログインするためのPW

 

session = swat.CAS(server, 5570, user, password) #SWATをでSAS ViyaのCASサーバーと通信を取ります

data = pd.read_csv(filePath) #データを読み込み
sasData = swat.SASDataFrame(data) #データ型を変換SAS DataFrameに変換する

 

session.upload_frame(sasData, casout = dict(name = fileNameOnCas, replace = True))
if session.table.tableExists(caslib='Public', name = fileNameOnCas).exists ==2:
   session.table.dropTable(caslib='Public', name = fileNameOnCas)
   promoteTable = session.table.promote(caslib='CASUSER', drop=True, targetLib = 'Public', name = fileNameOnCas)
   results = session.table.tableExists(caslib='Public', name = fileNameOnCas)


if results.exists == 0:
   print ('The table %s failed to load into memory.' % (fileNameOnCas))
elif results.exists == 1:
   print ('Promotion failed, the table %s is session-scoped.' % (fileNameOnCas))
else:
print ('The table %s was successfully promoted!' % (fileNameOnCas))