SASⓇETL Serverを用いた臨床試験データの集計解析用データ加工業務での活用例
武田薬品工業株式会社 統計解析部 統計グループ 高浪 洋平
株式会社ファースト
西山 和志
住商情報システム株式会社
峯松 清志

2005/5/13 関西SASユーザー会

1目次
データウェアハウスの変遷
ETLの構成及び位置付け
PH-DataWareとETLの比較・評価
ETLの主な機能
ETL活用事例
今後の展望

2005/5/13 関西SASユーザー会

2データウェアハウスの変遷
SAS 6.12


SAS Warehouse Administrator 1.3
データ加工システム
 データウェアハウス構築ツール
として導入
PH-DataWare Clinical Dataに特化していくつかの機能を追加

SAS 8.2


SAS Warehouse Administrator 2.2
 WA1.3の後継システム
SAS Drug Development
 医薬品開発に特化、FDA対応し、様々な機能を持つ

SAS 9.1


SAS Warehouse Administrator 2.3
 WA 2.2のメンテナンス版SASⓇETL Server（JAVAベース）


新データ加工システム
として導入

WAの後継ソフトウェア⇒メタデータの管理・SASの実行・操作性など大幅に機能UP

2005/5/13 関西SASユーザー会

3

ETLの位置付け
解析システムの概要
データ加工
症例データ
OracleSASに変換症例
データ
SAS

Wプログラム

解析用
データ

PH-DataWare
ETL

集計解析
解析結果

解析帳票

PH-Clinical★ PH-DataWareに替わる新たなデータ加工システムとして
ETLの導入を検討
2005/5/13 関西SASユーザー会

4

ETLの構成
クライアントSAS Management
Console（SMC）
 メタデータの管理

ETL Studio

サーバー
SAS Workspace Server SAS Metadata Server SAS Connect Server SAS V９ プログラムの実行・ジョブの定義・ライブ
ラリの定義etc

Job Scheduler ジョブの一括実行

Work
SpaceServerMetadataServerSASConnectServerSAS V９PC
2005/5/13 関西SASユーザー会

5

PH-DWとETLの比較・評価
PH-DW
環境設定

各プロセスで作業効率を比較・評価

ETL
環境設定

SAS Mangement
Console(SMC)
・メタデータ管理ODD Group作成
加工元データ定義
ODD 作成ETL Studio
Data Warehouse作成
Data Group作成
加工後データ定義
Data Table 作成

プログラム作成

プログラム作成

Process作成

ジョブ定義

・ライブラリ定義
・ジョブ定義・プログラムの実行

Job Scheduler
Dependency Map作成
2005/5/13 関西SASユーザー会

スケジュール定義

・ジョブの一括実行
6

ETLの評価結果
ETLの主な評価結果


約50項目においてETLとPH-DWを比較した結果、ほぼ全ての項目でETLの評価が優れていたため、導入を決定した

ETL

PH-DataWare

SAS V9で動作

SAS V6で動作

プログラムの定義方法が簡単(SASファイル、TXTファイル等のプログラムが記述されたファイルを所定のフォルダに保存)

プログラムはBuildプロシジャで定義(SASカタログ形式で保存)

コピー＆ペースト、ドラッグ＆ドロップ、拡張エディタなど、GUI機能が豊富（主な機能のショートカットがメイン画面に表示されている）

コピー＆ペースト、ドラッグ＆ドロップはできない

データの一括定義が可能

データは１つ１つ定義(V6のデータセットのみ一括定義可能)

SMCでユーザー管理、権限の制約などを細かく指定できるサーバーのユーザー定義で管理チェックイン、チェックアウト、フェッチなどのデー
タの排他制御、同時アクセスが可能

データの排他制御はできない(同一試験では同時にログインできない)

コスト低、サポート、バグ対応が速やか

左記の点でETLに劣る

2005/5/13 関西SASユーザー会

7

ETLの主な機能（1）
ソースデザイナ – 加工元データの定義
指定したライブラリのデータセットをETLに定義
 データセットの一括定義が可能


2005/5/13 関西SASユーザー会

8

ETLの主な機能（2）ターゲットデザイナ – 加工後データの定義
指定したライブラリにデータセットを定義
 加工後データセットの変数名・ラベル・属性を指定
 エクセル・テキストファイル等からコピー＆ペースト可能2005/5/13 関西SASユーザー会

9

ETLの主な機能（3）プロセスデザイナ – ジョブの定義
データの様々な変換プロセスを定義
 デフォルトで用意されている変換プロセス、ユーザーが作成したSASコードを定義 データや変換プロセスをドラッグ＆ドロップで定義

2005/5/13 関西SASユーザー会

プログラムが自動生成される！

10

ETL活用事例
ETL導入後のデータ加工業務
 環境設定 データ定義・履歴管理
 プログラム作成
 ジョブ定義 一括実行

2005/5/13 関西SASユーザー会

11

ETL活用事例（1）- 環境設定
SAS Management Console（SMC） - メタデータの管理

ユーザー管理リポジトリ（メタデータ、ユーザーの作業領域等を定義するオブジェクト）の作成・管理

2005/5/13 関西SASユーザー会

12

ETL活用事例（1）- 環境設定
リポジトリ管理機能（SMCで作成）
Foundationリポジトリ
Customリポジトリ


サーバーやメタデータを一括管理するオブジェクト
開発課題毎のメタデータを管理するオブジェクト

Projectリポジトリ
Foundation
リポジトリ

プログラム実行、変更履歴管理や排他制御等を行う
ユーザーの作業環境デフォルトで用意されている

Customリポジトリ

Custom
リポジトリ

Project
リポジトリ

Project
リポジトリ

2005/5/13 関西SASユーザー会

開発課題毎に作成(データ、ジョブなどを管理)

Project
リポジトリ

ユーザー毎に作成し、実際に作業を行う環境(ジョブの作成、プログラムの実行)
13

ETL活用事例（2）- データ定義・履歴管理
チェックイン、チェックアウト機能Projectリポジトリでデータの定義、ジョブの定義、プログラムの実行等を行うため、ライブラリ、データ等を排他制御する
 下図のように、チェック(√)マークが付いているオブジェクトは他のユーザーがアクセスできない
 作業後はCustomリポジトリにチェックインして排他制御を解除
Custom
リポジトリ

チェックアウトチェックイン

Project
リポジトリ
2005/5/13 関西SASユーザー会

14

ETL活用事例（2）- データ定義・履歴管理
フェッチ機能

排他制御はかけずにデータ加工が可能
オブジェクトをコピーしてProjectリポジトリへデータを取り込む
 変更はCustomリポジトリには反映されない
 作成されたオブジェクトのみ（加工後・加工元データ等）をチェックイン


複数ユーザーの同時アクセスが可能
フェッチ

Project
リポジトリ1

ユーザー１

フェッチ

生成物のみ
チェックインCustom
リポジトリ

生成物のみチェックイン

Project
リポジトリ2

ユーザー２

生成物のみ
チェックインフェッチ

Project
リポジトリ3
2005/5/13 関西SASユーザー会

ユーザー３

15

ETL活用事例（3）- プログラムの作成
ユーザー作成コードとして定義
プログラムは所定のフォルダに保存
 ETLへの定義は保存場所を指定するだけ
 プロセスデザイナで直接ドラッグ＆ドロップ

2005/5/13 関西SASユーザー会

16

ETL活用事例（4）- ジョブの定義
ジョブの定義-プロセスデザイナ


フェッチ、チェックアウトしたデータに対する処理プロセスを定義
フェッチ
チェックアウト症例データ1

加工元データ
症例データ2
プロセスデザイナ（ジョブ定義）

加工後データチェックイン
解析用データジョブ

Customリポジトリ
2005/5/13 関西SASユーザー会

SASコード実行

Projectリポジトリ
17

ETL活用事例（5）- 一括実行
Job Scheduler（本格的にはまだ稼働していませんが・・・）

ジョブの一括実行を行うツール
ETLで定義したジョブを登録し、一括実行を行う

処理の流れ
ジョブ１
ジョブ２
ジョブ３

ジョブ１
ジョブ２

データセット１
データセット２

ジョブ３

データセット３

登録

実行★ローカルPC（クライアント側）でAdminisratorの権限が必要！

2005/5/13 関西SASユーザー会★実際の画面18

ETL活用事例（6）- データ加工業務の流れ
チェックアウト、フェッチ機能を使ってユーザー毎に作業を行う

処理フロー
Custom
リポジトリ

Project
リポジトリA

ジョブA

データセットA

Compare

本番実行
Project
リポジトリB

SMCで環境設定

ジョブB

データセットB

デバッグ実行Job Schedulerで一括実行

ETL Studioでデータ加工

2005/5/13 関西SASユーザー会

19

今後の展望ユーザー権限の制約への対処
 同じユーザーでも作業によって必要な権限が異なる

プロセスライブラリの活用
 変換プロセス（デフォルトで用意されているマクロ）の活用
 ユーザー作成コードを新たな変換プロセスとしてETLへ追加・汎用化

インパクトアナリシスの活用
 テーブルレベル・変数レベルでの分析

Job Schedulerの本格稼働
 次期バージョンでは稼働しそう？

2005/5/13 関西SASユーザー会

20