SAS Studio Taskの紹介 仕事の中で、このような状況に遭遇したことはないでしょうか?普段Enterprise Guide或いはSAS Studioを利用している分析チームの中には、コーディングユーザとSAS言語ができないGUIユーザがいます。ある分析プロジェクトにおいて、特定のモデルを活用する場合に、そのモデルはSASコードを書くことで利用することはできますが、EGのGUI操作やSAS Studio のTaskだけでは活用することができません。この場合に、GUIユーザがコーディングユーザと同じような分析を行うためには、コーディングユーザが作ったSASコードを利用し、入出力情報やパラメータなどを修正した上で使用することになります。しかし、このようなやり方では、たとえば、修正を間違えることによって、エラーを起こし、コードを書いた人に助けてもらわないといけないことも時々発生していました。 この状況に置いて、SAS言語ができないユーザでも、コードを書かずにGUI上の簡単なマウス操作で実施できるような便利な機能をご紹介します。 SAS Studioには、SAS Studioカスタムタスクという機能が組み込まれています。必要な機能が既存のタスクとして用意されていなくても、プロシジャーがあれば自らタスクを簡単に作成できるインターフェースです。XML形式で必要な入出力箇所やオプションを定義することによって、GUI画面を持つタスクが簡単に作れます。そのタスクをSAS Studio上では勿論、SAS Enterprise Guide上でも使うことができます。非常に便利な機能です。この便利なSAS Studioカスタムタスクには以下のような特徴があります。 ・タスクを作る際にはSAS以外のプログラミング知識は必要ありません。 ・SAS Studioで作る場合は、XMLを書きながら、作成途中のGUIの画面を常に確認できます。 ・タスクを使う人は簡単なマウス操作で利用可能です ・そして、SAS StudioとEnterprise Guide両方での利用が可能です。 ・XMLベースなのでタスクの修正は簡単です。 ・テキストボックス、チェックボックスなど多様なコントロールを定義可能です。 SAS Studio Taskの作り方 今回は混合正規モデルを例にSAS Studio Taskの作成方法を紹介します。SAS Studio Taskを作るには二つの方法があります。 一つ目は新規で一からタスクを作成する方法です。 二つ目は既存のタスクをテンプレートとして使い、内容を修正しながらタスクを作る方法です。 今回の記事は一つ目の方法をメインとして紹介しますが、記事の最後に二つ目の方法に関しても簡単に紹介します。作成ツール(XMLエディタ)としては、SAS Studioや任意のエディターのいずれかを使用しても構いませんが、この記事では最新のSAS Studio 5.2を使用しています。操作方法などは使っているSAS Studioのバージョンによって変わる場合はありますが、定義の書き方に相違はありません。 SAS Studioを開いて、メニューから新規作成をクリックし、タスクと選択します。そして下の図のようなタスクテンプレートの画面が表示され、この画面内でSAS Studio Taskの定義を行います。まずSAS Studio Taskの定義の構造を紹介します。 最初の2行はシステムにより生成されたタスクのエンコーディングとスキーマバージョンの定義です。この部分を修正する必要はありません。 <?xml version="1.0" encoding="UTF-16"?> <Task schemaVersion="7.2">
Tag: SAS Enterprise Guide
SAS Enterprise Guide(EG)で簡単にPythonなどオープンソース・コードを実行できる方法を紹介します。 1.オープンソースコード実行用タスク(OST)の概要 2.事前設定 3.EGでの使用方法 4.AMOでの使用方法 1.オープンソースコード実行用タスク(OST)の概要 SAS Enterprise Guide(EG)は直感的なユーザインタフェース上で、マウスの簡単操作で、透過的にデータにアクセスし、様々な分析用タスクを活用し、データの準備から加工・変換、集計・分析、レポート作成に至る一連の作業をグラフィカルなフロー図として描き、実行することができるツールです。 一方、多くの組織ではPython, Rなど様々なオープンソースのスキルを持つデータサイエンティストが混在することが多く、こうしたオープンソース(OS)とのコラボレーションも必要になってきています。従来、EGとPythonなどOSと連携する際には、データでのやりとりが必要でした。例えば、EGで作成したデータをエクスポートし、OSユーザに渡して処理してもらうか、その逆か、になります。 都度このようにデータをやりとりするには手間と時間がかかりますし、データやPythonコードなどの管理も課題となります。こうした課題を解決する手段の一つとして、カスタムタスクを活用することができます。 カスタムタスク:EGには、数多くのタスク(データ準備用タスク、分析用タスク、など)が実装されています。このタスクは顧客ニーズに応じてカスタムで作成し、活用することができるようになっています。SASのサポートサイトからカスタムタスクを作成するためのテンプレートをダウンロードし、使用することができるようになっています。カスタムタスクの作成方法の詳細に関しては、次回のブログでご紹介します。 オープンソースコード実行用タスク(OST):OSTはOpenSourceTaskの略で、EGカスタムタスクのテンプレートに基づいて開発されています。OSTを使用することで、EG上で簡単にPythonコードを実行することができ、GUIベースの簡単マウス操作でPythonコードを再利用し、EG上で、標準実装のタスクとOSTを活用し、連携してアナリティクス作業を完結することができます。これによって、様々異なる分析スキル(GUIユーザー、SAS言語ユーザー、OS言語ユーザー)を連携し、有効活用することが可能となります。また、この分析処理は自動化することも可能です。 次にPythonコード実行用のOSTの使用方法を紹介します。EGのバージョンは8.2を使用したものです。 2.事前設定 ・Python環境の確認 まずSAS9サーバ側にPython環境がインストールされていることを確認してください。Pythonの環境がない場合は、PythonまたAnacondaなどPythonのruntimeをインストールする必要があります。 ・SAS9サーバーの設定 SAS9のSMC(SAS Management Console)を起動し、以下の画面を開きます。 「Environment Management」>「Server Manager」> 「SASApp」>「SASApp Logical Workspace Server」>「SASApp - Workspace」を右クリックし、「Properties」をクリックし 以下の設定でXCMDの実行を許可します。 「Options」タブ >「Advanced Options」>「Launch Properties」で「Allow XCMD」をチェックし、「OK」をクリックします。 設定を有効するにはシステムのObject Spawnerのサービスを再起動する必要があります。 ・OSTパッケージの取り込み OSTパッケージをダウンロードし、展開したCustomフォルダをEG(またAMO)のインストール先(以下画面ショットのロケーション)にコピーします。そのほか、臨時ファイル保存と作業用フォルダC:/Customを作成し、準備作業が完了です。 これで、OSTが使用できる状態になります。 3.EG上の使用方法 まず EGを起動し、処理対象データを選択します。今回はSASHELPライブラリ内にある「CLASS」を選びます。データを選択した状態で、タスクリストのSAS