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