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

SAS Viyaでデータソースの型を指定する

SAS ViyaはAIプラットフォームです。データソースは様々なものが指定できますが、今回はそんなデータソースのデータ型を指定する方法について紹介します。

ライブラリを読み込む

ライブラリを読み込みます。トライアル環境の場合はSAS Viyaのトライアル環境で html5lib を追加する - Qiitaを最初に行ってください。

from swat.cas import datamsghandlers as dmh

通常の例

今回はHTMLファイルをデータソースに使います。トライアル環境の場合はURL指定ができませんので、HTMLファイルをアップロードした上で指定してください。今回はFDIC: Failed Bank Listを使っています。

htmldmh = dmh.HTML('./FDIC_ FailedBankList.html')

データ型などは自動的に判別されます。

out.casTable.columninfo(table=dict(name='banklist', caslib='casuser'))
Column ID Type RawLength FormattedLength NFL NFD
0 Bank Name 1 varchar 90 90 0
1 City 2 varchar 18 18 0
2 ST 3 varchar 2 2 0
3 CERT 4 int64 8 12 0
4 Acquiring Institution 5 varchar 65 65 0
5 Closing Date 6 varchar 18 18 0
6 Updated Date 7 varchar 18 18 0

このカラムを見ると、Closing DateとUpdated Dateが文字列として認識されてしまっています。日付型の方が良いでしょう。

型を指定する

日付型の場合、parse_datesオプションを使います。5と6というのはカラムの番号(上のテーブル参照)です。

htmldmh = dmh.HTML('./FDIC_ FailedBankList.htm', parse_dates=[5,6])

そして先ほどのテーブルと差し替えます。

out = conn.addtable(table='banklist', caslib='casuser', replace=True, **htmldmh.args.addtable)

そうすると、型が変わっているのが分かります。

out.casTable.columninfo(table=dict(name='banklist', caslib='casuser'))
Column ID Type RawLength FormattedLength Format NFL NFD
0 Bank Name 1 varchar 90 90 0
1 City 2 varchar 18 18 0
2 ST 3 varchar 2 2 0
3 CERT 4 int64 8 12 0
4 Acquiring Institution 5 varchar 65 65 0
5 Closing Date 6 datetime 8 20 DATETIME 0
6 Updated Date 7 datetime 8 20 DATETIME 0

まとめ

型を指定することで、より分析や絞り込みがしやすくなるでしょう。ぜひお役立てください。トライアルは無料でできますので、ぜひお試しください。

SAS for Developers | SAS

Why do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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