SAS

SASのクソな部分をぶった切る!(8)SAS Viyaの導入メリットってあるの? Part1

最近SAS viyaを使わせてもらえることになりまして、いろいろいじってみました。
まだプログラムの開発環境ぐらいしか見ていないのですが、これがまたまあ微妙なシステムでして。。。
個人的にはもう使いたくないです。

今回は実際に使ってみた所感を書いていきます。なおSASの環境は契約によって構成が変わりますので
あくまで個人の意見としてごらんください。

SAS viyaとは

SAS社の最新のデータアナリティクス環境です。機械学習といった流行りの手法をオンプレミス環境だけでなくクラウド上で実施できるようになっています。
とくにCAS(Cloud Analytic service)という分散システムを備えており、データ処理を高速に実行できるらしいです。

要は従来のSASにクラウドとかAIとか機械学習といった最新の統計手法、開発環境を追加したものですね。

SAS以外にもpythonやRでも開発できるようです。機械学習も1からプログラム開発しなくてもある程度は実行できるようになっているっぽい。

SAS言語で古典的な統計解析しかしない人はオーバースペックだと思われます。

www.sas.com

結論

早速結論から書きますが、

少なくとも従来のSAS環境でSAS言語を用いて解析を実施している人は、導入はよく考えたほうが良いです。ていうか導入しないほうがいいかもしれません。

別にViyaを導入したところで特段これまでの業務が効率化されるわけでもありませんし、Viya独自の仕様もありますので、これまでのプログラム資産が使えなくなる可能性が高く、開発環境変更によるトラブルの可能性も十分考えられます。
機械学習などをプログラムなしで実施したい人ならもしかしたら検討の余地はありそうですが、そういう人は非プログラマーの人がたまにそういうことやりたいニーズにこたえるために導入するのでしょうから、
バリバリコードを書く人なら苦痛だと思います。

SAS studioがクソ

まず開発環境であるSAS Studioがクソです。

SAS Studioはブラウザベースの開発環境なのでPC環境に依存しないのはメリットなのですが、とにかく動作がもっさりしていて業務でこれを使うとマジでストレスです。
長時間開発しているともっさりレベルがひどいことになり、明らかに作業効率が落ちるので、私はいったんログアウトしてブラウザをリロードしています。

特に大容量データと取り扱う場合や、実行時間が結構かかる複雑なプログラムの開発の場合はマジで使いたくないです。

あと放置していると勝手にログアウトするのもクソです。実行中であればログアウトされませんが、プログラムが実行終了して会議なんかでいったん離席すると高確率でログアウトしやがります。
ログアウトされるとWorkの中身が初期化されるので、再度データをworkに展開する必要があります。これもストレス。

個人的にはEnterprice guideが一番優秀な開発環境だと思っています。プロジェクトごとにプログラムを一括管理できるのはとても良いし、入力補完が使えます。
これを標準環境にすればいいのに、、何やっているんだろう。

jupiter notebookのようなブラウザベースの開発環境もありますから、その流れに乗っているのでしょうけど、どの言語においてもヘビーユーザーはアプリケーションの開発環境を使っているのではないでしょうか。
ライトユーザー以外にはとてもじゃないけどお勧めできない。

契約によって開発環境が選べるのであれば一刻も早くITに相談して変えさせたいのですが、SAS9からViyaへの移行ガイドを見ると、Enterprice GuideからSAS studioへの移行が書かれているみたいなので、多分
SAS studioが標準のようです。うんちですね。

www.sas.com

ファイル管理がクソ

SAS viyaはファイル管理システムとしてSAS Driveという環境が用意されています。これはクラウドベースのストレージでして、プログラムや出力結果はここに保存できるのですが、
ディレクトリ単位のファイルダウンロードができません。なので大規模なプロジェクトでファイル数が多い場合、一個ずつダウンロードするしかないみたいです。

さらにSAS Drive内のファイルはファイルパスを直接指定してもSAS Studioからそのままでは参照できません。

参照するためにはfilenameステートメントでfileservオプションをつけると参照できるようになります。逆にいればfilename以外ではアクセスできません。

これはOSの機能からSAS Driveディレクトリ内のファイルを参照できないことを意味します。SASからOSの機能を呼び出すようなことは少数ですが、困るケースもあると思います。

SAS viyaはUNIX上で動作しているのでシェルスクリプトが使えれば作業の幅が広がりますが、
もしシェルスクリプトを使用する場合はSAS driveではなくSASがインストールされているディスク領域を使用するしかなさそうです。

なおSAS driveはライブラリの参照先として設定できません。つまりSAS driveにはSASデータセットは保存できません。データはあくまでCAS上で管理するということなのでしょう。

外部ツールが使えない

ブラウザベースの開発環境であれば当然なのですが、Windowsアプリケーションを呼び出すことはできません。

業務ツールとしてexcel vbaやバッチファイルを用意しているところもあるでしょうし、
結果出力方法としてDDEをまだ使っている会社もあると思いますが、これらはSAS viyaを導入するとすべて使えなくなります。

一応SAS viyaからファイルを社内PCにダウンロードしてwindows環境内で業務ツールを使えば何とかなりますが、DDEはどうしようもないはずです。
proc reportなんかでPDFかRTF出力するしかないでしょう。

ここら辺は悪い意味で影響が大きい会社が多数なのではないでしょうか?業務手順を大幅改定する必要はあるでしょうね。

SAS viyaの最もクソな要素は目玉機能のCAS(Cloud analytic service)です。不満点が多すぎるので別記事でまとめます。