Posted at

SAS ViyaのFetchオブジェクトのパラメータ操作について

SAS ViyaはAIプラットフォームです。PythonやJava、Rなどの言語を通して利用できます。そのSAS Viyaの中で使われているのがCASTableというテーブルオブジェクトです(CASはCloud Analytic Servicesの略です)。CASTableからデータを取得する際のパラメータをネストして与える方法について紹介します。


SAS Viyaに接続する

まずはSAS Viyaに接続します。

from swat import *

cashost='localhost'
casport=5570
useremail='dev@sas.com'
userpassword='password'
casauth='~/.authinfo'
conn = CAS(cashost, casport, useremail, userpassword, caslib="casuser")


データをアップロードする

CSVファイルのデータをアップロードします。今回は有名なIRISのデータです。

out = conn.upload('./iris.csv')


Fetchオブジェクトを取得する

Fetchオブジェクトをconnから取得します。初期値としてテーブルなどを指定できます。

fa = conn.Fetch(to=5, table=dict(name='IRIS', caslib='casuser'))


パラメータの取得

パラメータを取得する際には get_param を使います。

fa.get_param('to')

# -> 5

複数の引数を指定することで複数の値を取得できます。

fa.get_params('to', 'table.name')

# -> {'table.name': 'IRIS', 'to': 5}


パラメータの削除

パラメータの削除は del_params を使います。

fa.del_params('to', 'table.caslib')


パラメータの確認

パラメータの存在確認は has_param を使います。

fa.has_param('table.caslib')

# -> False

複数指定した場合は、すべての項目がある場合のみTrueが返ってきます。

fa.has_param('table.name', 'to')

# -> False


プロパティを使ったアクセス

プロパティを指定して値を取得することもできます。

fa.table.name

# -> 'IRIS'

同じようにデータの削除もできます。

fa.table

# -> {'caslib': 'casuser', 'name': 'IRIS'}

データを削除します。

del fa.table.caslib

確認します。

fa.table

# -> {'name': 'IRIS'}


まとめ

SAS ViyaのFetchオブジェクトは柔軟にデータ指定ができます。プログラマブルに条件を変更するのも簡単でしょう。ぜひお試しください。

Python Programming for SAS Viya | SAS