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()
Fetchを実行する
Fetchは例えば次のように使います。nameがテーブル名、toは件数です。
fa(table=dict(name='IRIS', caslib='casuser'), to=5)
SepalLength | SepalWidth | PetalLength | PetalWidth | Name | |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
1 | 4.9 | 3.0 | 1.4 | 0.2 | Iris-setosa |
2 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
3 | 4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
elapsed 0.00276s · user 0.002s · sys 0.001s · mem 0.865MB
ソートを指定する
並び替えを実行します。sortbyを指定します。
fa(table=dict(name='IRIS', caslib='casuser'), to=5, sortby=['SepalLength', 'SepalWidth'])
SepalLength | SepalWidth | PetalLength | PetalWidth | Name | |
---|---|---|---|---|---|
0 | 4.3 | 3.0 | 1.1 | 0.1 | Iris-setosa |
1 | 4.4 | 2.9 | 1.4 | 0.2 | Iris-setosa |
2 | 4.4 | 3.0 | 1.3 | 0.2 | Iris-setosa |
3 | 4.4 | 3.2 | 1.3 | 0.2 | Iris-setosa |
4 | 4.5 | 2.3 | 1.3 | 0.3 | Iris-setosa |
elapsed 0.00236s · user 0.002s · mem 2.81MB
パラメータを記録する
set_params
を使うとパラメータを保存しておけます。
fa.set_params('table', dict(name='IRIS', caslib='casuser'), 'to', 5)
このようにすると、faの内容が固定になります。繰り返し使う時に便利です。
fa
# ?.table.Fetch(table=dict(caslib='casuser', name='IRIS'), to=5)
そして、保存しておけば呼び出す際にパラメータ指定も不要になります。
fa()
SepalLength | SepalWidth | PetalLength | PetalWidth | Name | |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
1 | 4.9 | 3.0 | 1.4 | 0.2 | Iris-setosa |
2 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
3 | 4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
elapsed 0.00194s · user 0.001s · sys 0.001s · mem 0.865MB
まとめ
Fetchの簡単な使い方を紹介しました。直感的に使えるようになっていますので、すぐに使いこなせるはずです。データ分析の際にお役立てください。