Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

初期状態ではテーブルなども設定されていませんので、パラメータで指定します。

fa.set_params('table.name', 'IRIS',
              'table.caslib', 'casuser')

この時の fa の内容は次の通りです。

?.table.Fetch(sortby=dict(0=dict(formatted='raw', name='PetalLength'), 1=dict(formatted='raw', name='PetalWidth')), table=dict(caslib='casuser', name='IRIS'))

そしてソート条件を指定します。

fa.set_params('sortby.0.name', 'PetalLength',
              'sortby.0.formatted', 'raw',
              'sortby.1.name', 'PetalWidth',
              'sortby.1.formatted', 'raw')

そして出力します。

fa(to=5)

§ Fetch

Selected Rows from Table IRIS

SepalLength SepalWidth PetalLength PetalWidth Name
0 4.6 3.6 1.0 0.2
1 4.3 3.0 1.1 0.1
2 5.0 3.2 1.2 0.2
3 5.8 4.0 1.2 0.2
4 4.7 3.2 1.3 0.2

elapsed 0.00106s · user 0.000999s · mem 2.84MB

まとめ

Fetchオブジェクトは set_params を使って取得するデータの指定、絞り込みが簡単に行えます。ぜひ試してみてください。

Python Programming for SAS Viya | SAS

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away