Posted at

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

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


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'))


パラメータを確認する

まずは現在の設定を見てみます。

fa

# ?.table.Fetch(table=dict(caslib='casuser', name='iris'), to=5)


設定値を取得する

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')

fa
# ?.table.Fetch(table=dict(name='iris'))


設定があるか確認する

has_param で設定値の存在を確認できます。

fa.has_param('table.name')

# True


設定があるか確認する(複数)

引数を複数与えれば、複数の設定値があるかまとめて確認できます。この場合、すべての設定がないとFalseになります。下の例の場合、table.name はありますが to がないためにFalseになります。

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'}


まとめ

Fetchオブジェクトを使うことでデータの取得が容易になります。また、プロパティの値を変更すれば取得されるデータも変わります。ぜひ使いこなしてください。

SAS for Developers | SAS