Spring 2009

特集

SAS 9.2への移行と活用
1

SAS 9.2への移行と活用

6

SAS Academic News

11

Q&A

1. はじめに2005年、SASプロダクトの正常進化系としてBusiness Intelligence

14

SASトレーニングのお知らせ

16

最新リリース情報

16

SAS Technical News送付についてのご案内を実現するSAS BIサーバーをリリースしました。リリース当初のSAS BI
サーバーは、SAS 9.1を基本モジュールとして構成されておりました。2008
年9月、SAS全体を支える基本モジュールであるSAS 9.2が新機能を搭載しリリースされたことにより、SAS BIサーバーは「見える化」から「予見力」
へと更なる発展を遂げ、SASは世界のBIのトップベンダーとして進化し続けています。
SAS Technical Newsでは、SAS 9.2の機能に特化した「プラットフォーム編」、「Foundation編」、「SAS 9.2への移行について」をご紹介してまいりました。
本号では、これらに続く最終フェーズとして、SAS 9.2以前のバージョンで作成されたSASファイルをSAS 9.2で活用する方法をご紹介いたします。
なお、SAS 9.2のご紹介として掲載させていただきました過去3部作の特集記事は、弊社ホームページの以下のリンクから入手可能ですので、合わせてご参照ください。
● Summer 2008 SAS 9.2のご紹介（プラットフォーム編）
特集の概要：SAS 9.2のBIサーバーについてのプロダクトコンセプト、
BIサーバーシステム構成図及びユーザから見た業務別
SAS BIサーバー活用例（ユーザーマッピング）のご紹介
http://www.sas.com/japan/periodicals/technews/pdf/08sum.pdf● Autumn 2008 SAS 9.2のご紹介（Foundation編）
特集の概要：SAS 9.2基本機能（Foundation）に特化した新機能、拡張
プラットフォーム種類、また特集２として、システム必要条件に関するSAS 9.2インストールセンターのご紹介
http://www.sas.com/japan/periodicals/technews/pdf/08aut.pdf

● Winter 2009 SAS 9.2への移行について（事前準備編）
特集の概要：移行計画を立案する上での事前準備、環境の構築、実施作業の概要についてご紹介
http://www.sas.com/japan/periodicals/technews/pdf/09win.pdf

2. 既存資産の活用方法および確認事項
まず、旧SASバージョンであるSAS 6、SAS 8、SAS 9.1.3で作成したSAS
ファイルをSAS 9. 2で活用するには、旧SASバージョン形式のまま

Windows版SASの拡張子対応表※1

ファイルの種類

SAS 6 での拡張子

SAS 8、9での拡張子

データセット.sd2.sas7bdat

DATAステップビュー
SQLビュー.sv2.sas7bvew

ACCESSビュー.sa2.sas7bacs

SASカタログ.sc2.sas7bcat※1：SAS 8以降はすべてのプラットフォームにて共通の拡張子になります。

UNIX版の拡張子対応表

SAS 9.2で使用するか、または全てSAS 9.2形式へ移行するかを選択する

ファイルの種類

SAS 6 での拡張子※2ことができます。この章では、この２つの活用方法についてご説明いたし

データセット.ssd0nn.sas7bdat

ます。
また、実作業を行うにあたっての確認必要事項についてご説明します。

DATAステップビュー
SQLビュー.ssv0nn.sas7bvew

SAS 8、9での拡張子※1

2.1 既存資産の活用方法

ACCESSビュー.ssa0nn.sas7bacs

SAS 9.2での既存資産の活用は、以下の2つの方法があります。

SASカタログ.sct0nn.sas7bcat※1：SAS 8以降はすべてのプラットフォームにて共通の拡張子になります。
※2：nnはオペレーティングシステム（以下、OS）毎の固有の番号です。

・SASファイルを旧バージョン形式のまま、SAS 9.2にて活用する
・SASファイルを全てSAS 9.2形式へ移行する
前者の旧バージョン形式のままSAS 9.2で活用する場合、基本的に

nn

対応 OS

01

Solaris、HP-UX、AIX

04

Tru64 UNIXSAS 9.2への移行作業を実施することなくSASファイルを参照できます
ので、移行に関わる作業を最小限にとどめることができます。ただし、

2.3 エンジンについて

SASファイルの種類によっては、サポートされる処理が制限されます。

SASはエンジンを通じて、SASファイルの読み込み、書き込み、更新処理を次に、後者である旧バージョン形式のSASファイルをSAS 9.2形式へ移行行ないます。SASファイルが作成されたバージョンと、それを利用するSASのする場合、移行用のプロシジャにて作業を行います。この場合、移行バージョンが異なる場合には、エンジンを指定しファイルにアクセスします。

対象のファイルの選別から移行に関わる準備、処理結果の確認作業が発生するため、ある程度の時間と作業に関わる移行計画の立案が必要

エンジンの指定例:となることが想定されます。

LIBNAME libref V6 SAS6にて作成されたSASファイルの格納ディレクトリ名 ;SASファイルをSAS 9. 2形式に移行することと前者が大きく異なる点

LIBNAME libref V8 SAS8にて作成されたSASファイルの格納ディレクトリ名 ;は、先に述べたSASファイルへの書き込みや更新処理に使用制限が

LIBNAME libref V9 SAS9にて作成されたSASファイルの格納ディレクトリ名 ;発生しないことです。一般的に、通常のSASアプリケーションでは、
SASファイルの読み込み、更新、新規作成を行なっているかと思い

2.4 Native、Non-Nativeについてます。旧バージョン形式のままSASファイルを活用した場合、処理に

旧バージョンで作成されたSASファイルをSAS 9.2にて活用または制限が発生し、結果としてSASアプリケーションの動作に支障を来た

移行する際、対象のSASファイルとSAS 9.2の互換性を識別するため、す恐れがあります。このため移行に関するコストや時間が必要になり

Nati ve、Non-Nati veという言葉でカテゴリ化する必要があります。

ますが、現 実 的にS A Sアプリケーションの 処 理内容を想 定すると

つまり、Native、Non-Nativeの定義とは、SAS 9.2が稼動するプラット

SAS 9.2形式へ移行することを強く推奨いたします。

フォーム等のシステム環境を基準として、対象のSASファイルが同一のシステム環境で作成されたものであるかを示します。

2.2 移行対象SASファイルの確認
実作業を行う前に、既存資産のSASファイルの種類を確認します。SAS

Nativeの条件

ファイルとは、SAS独自の形式で保存されたファイル群で、主なものに・OSファミリーが同一であるは以下のものがあります。

・SASのbitが同一である
・SASのエンコードが同一である

ファイルの種類概要

データセットオブザベーション群および管理情報

DATAステップビュー

DATA ステップにて VIEW=オプションを使用した際に作成され、DATA ステップのプログラムが格納されたファイル

SAS/ACCESS ビュー

ACCESSプロシジャにて作成され、データベースのテーブルを読み込む際に使用する

SQLビューSQL プロシジャにて作成され、SQL のクエリーが格納されたファイル

SASカタログ

主に FORMAT プロシジャにて作成され、入力・出力形式が格納されたファイル

これらの条件がひとつでも異なる場合、Non-Nativeとなります。
Non-Nativeの例
・Windows版SAS 6で作成したデータセットを、x64 Windows版SAS9.2で活用する
・Solaris版SAS 6（32bit）で作成したデータセットを、Solaris版SAS 9.2（64bit）で活用する
・Solaris版SAS 6 SJISで作成したデータセットを、Solaris版SAS 9.2
EUCで活用する

SASファイルの種類は、そのファイルの拡張子から確認できます。SASの特にSASファイルをSAS 9.2形式へ移行する場合、対象のSASファイル

バージョンおよび稼働プラットフォームにより異なりますので、次の表を

がどのバージョンのSASで作成されたものなのか、さらに移行先環境

ご確認ください。

の S A S 9. 2から見た場合、それらのS A SファイルがN ati v eなのか
Non-Nati veであるかによって、移行作業にて使用するプロシジャが異なります。次のフローチャートを参照し、移行対象となるSASファイルがNativeかNon-Nativeなのかを分類してください。

■ SAS 8形式ファイルのSAS 9.2での扱い（R:読み取り U:更新 W:書き込み）開始

NativeNon-Native

ファイルタイプ
R

U

W

R

データセット○○○○DATAステップビュー○

SAS/ACCESS ビュー○

SQL ビュー

○SAS カタログ○

移動元OSおよびSASのバージョンの確認

OSがLinuxまたはWindowsである
noyes
OSが32bit
である

no

yes
Itaniumプロセッサが搭載されている

no

no

yes
移行元SASが9.1.3である

U

W

×

○

×

×

×

×

×

×

×

○

○

×

○

×

×

○

○

×

×

×

○

4

5

3

3:同一エンコードで作成されたファイルが対象です。また、64bit OSにて稼働するSAS 9.2
にて新規作成した場合、64bitビットのファイルが作成されます。
4:SAS/ACCESSビューはSAS 8以降の新機能を使用することができません。
5:SAS/ACCESS OracleインターフェイスおよびSybaseインターフェイスによって作成されたファイルのみがサポート対象です。

yes

OSがUNIXである

×
4

3

no

yes

移行先OSの確認

移行先と移行元のOSが同一ファミリーである

なお、SAS 9.1.3にて作成したSASファイルをSAS 9.2にて活用する場合、サポートされる処理内容はSAS 8のものと同様です。
noyes

移行先と移行元のSASのエンコードが同一である

4. 既存資産の移行
SAS 9. 2の機能をすべて利用するためには、旧バージョン形式のSAS

no

ファイルをSAS 9.2形式に移行する必要があります。移行方法は、移行yesNativeに分類

対象のSASファイルの種類および同ファイルがSAS 9.2から見てNative

Non-Nativeに分類

またはNon-Nativeに分類されるのかによって異なります。以下のフローチャートを使用して、適切な移行方法を確認ください。

終了

図 1：Native、Non-native分類のフローチャート開始

3. 既存資産の活用移行するSASファイルがNativeかNon-Nativeかを確認

旧バージョン形式のSASファイルをSAS 9.2形式に移行せずに活用する場合、そのファイルが作成されたSASのバージョン、処理内容および
SAS 9.2から見てNati veまたはNon-Nati veの分類によって、サポート

Nativeである

noyes

される処理が制限される場合があります。以下では、その詳細をご紹介

移行するSASファイルの種類の確認をする

データセットのみを移行するいたします。

noyes
データセットおよびSAS
カタログのみを移行する

yes

no

3.1 SASファイルへの処理内容の分類
移行元環境にSAS 8がインストールされている

SASファイルへの処理内容は、3つに分類されます。以下の表は、データセットへの処理を例としています。

no

yes

SAS/CONNECTまたは
SAS/SHAREがライセンシングされている

記号

処理内容

具体例

R

読み取り

PRINT プロシジャにてデータセットの内容を表示する
DATA ステップの SETステートメントにてデータセット
を読み込む

U

更新

APPENDプロシジャにてデータセットにデータを追加する

W

書き込み

データセットを新規に作成する

移行元のSASがWindows IPF版である

旧バージョン形式のSASファイルを、SAS 9.2にて活用する場合に

yes

no

MIGRATEプロシジャ

3.2 SA S 9.2での旧バージョン形式のSASファイル の
取り扱い

no

yes

MIGRATEプロシジャ(リモートオプションあり)

CPORT/CIMPORTプロシジャ

終了

図 2：SAS 9.2形式にSASファイルを移行する方法

サポートされる処理内容は以下のとおりです。
移行方法の詳細に関しては、以下をご確認ください。
■ SAS 6形式ファイルのSAS 9.2での扱い（R:読み取り U:更新 W:書き込み）
Nativeファイルタイプ
データセットUW

CPORT/CIMPORTプロシジャ××※3 リモートオプションの詳細は、後述します。

×

×

×

×

×

×

R

U

W

R

○

○

○

○

×
×

×

1

DATAステップビュー○

SAS/ACCESSビュー○

SQL ビュー

○

×

×

×

×

×

SAS カタログ

○

×

×

×

×

×

2

○

2

MIGRATEプロシジャ: 4.1および4.2

MIGRATEプロシジャ（リモートオプションあり※3）: 4.1および4.4

Non-Native

1:同一OSファミリー及びエンコードで作成されたファイルのみ対象です。なお、Solaris
x64版SAS 9.2では、SAS 6形式のファイルを活用することは出来ません。
2:ACCESSビューは、SAS 8以降の新機能を利用することができません。

: 4.3

4.1 MIGRATEプロシジャの概要および注意事項

移行元、移行先ディレクトリ一覧

MIGRATEプロシジャは、既存のSASファイルを最新の形式に変換する
ためのプロシジャです。MIGRATEプロシジャの構文は以下の通りです。
LIBNAME <移行元ライブラリ名> <エンジン名>■ 移行元
ディレクトリ: c:¥saslib¥source

ライブラリ参照名: source'移行元ライブラリのパス';
LIBNAME <移行先ライブラリ名> V9■ 移行先'移行先ライブラリのパス';

ディレクトリ: c:¥saslib¥target

PROC MIGRATE IN=source OUT=target <オプション>;

ライブラリ参照名: target

RUN;
移行先ライブラリのパスには、必ず新規に作成した空のディレクトリを指定します。これは、MIGRATEプロシジャは、既にSASファイルが存在した
場合、以下のエラーが発生し不適切なファイルの上書きを防ぐよう設計されています。
ERROR: File TARGET.XXXXX (memtype=ZZZZ) cannot be migrated.
A file of that name already exists in the OUT= library TARGET.
なお、N o n - N ati ve の移 行する場 合、以下のN OTEおよび WA R N IN G
メッセージが出力されますが、処理自体に問題はありません。
NOTE: データファイル XXX.YYY.DATA は別なホストにネイティブな形式が使用されているか、またはエンコーディングがセッション
エンコーディングと一致していません。クロス環境データアクセスが使用されるため、追加のCPUリソースが必要となり、

図 3：MIGRATEプロシジャによる移行方法

パフォーマンスが低下します。
もし、移行元と移行先が異なる筐体の場合は、移行先にファイルを転送
WARNING : クライアントセッションのエンコーディングは xxxx x
ですが、サーバーセッションには未サポートのエンコーディ

します。なお、FTPを使用してファイルを転送する場合は、必ずバイナリモードを使用してください。具体的な手順は以下のとおりです。

ングが使用されています。データは正しく転送されません。
1） SAS 9.2を起動し、移行元のライブラリを定義します。この際、その他、MIGRATEプロシジャでは、以下のSASファイルを移行する

SAS 8にて作成されたSASファイルを移行する場合は、V8エンジンことが出来ません。

を指定します。SAS 6にて作成されたSASファイルを移行する場合
は、V6エンジンを指定します。

・AIX版SAS 6のSASカタログ
・Tru64 UNIX版のSASカタログのx64 Linux版またはx64 Solaris版

LIBNAME source <v6/v8> 'c:¥saslib¥source';

への移行
・Linux（Itanium）版のSASカタログのx64 Linux版またはx64 Solaris
版への移行

2） 空のディレクトリを作成し、V9エンジンのSASライブラリを定義します。

・ソースのないDATAステップビュー
・SAS/ACCESS OracleインターフェイスおよびSAS/ACCESS Sybase

LIBNAME target v9 'c:¥saslib¥v92lib';

インターフェイス以外で作成されたACCESSビュー
・マクロカタログ
・PROFILEカタログ

3） MIGRATEプロシジャを実行します。

・SAS 6.12以前のリリースにて作成されたSASファイル
PROC MIGRATE IN=source OUT=target;
上記のAIX版SAS 6のSASカタログ、Tru64 UNIX版のSASカタログ

RUN;

およびLinux（Itanium）版SAS 9.1.3のSASカタログは、CPORT/CIMPORT
プロシジャを使用して移行してください。その他のファイルに関しては、

4.3 CPORT/CIMPORTプロシジャ

SAS 9.2にて再作成する必要があります。

Non-Nati veのデータセットおよびSASカタログのみを移行する場合
は、CPORT/CIMPORTプロシジャを使用します。次の環境を例に、

4.2. MIGRATEプロシジャによる移行方法
Nati veファイルおよびNon-Nati veファイルのデータセットのみを移行する場合は、MIGRATEプロシジャを使用します。以下の環境を例に、詳細をご紹介します。

詳細をご紹介します。

移行元、移行先ディレクトリ一覧■ 移行元
ディレクトリ: /migrate/source

ライブラリ参照名: source

移送ファイル名: tran.cpt■ 移行先ディレクトリ: /migrate/target

ライブラリ参照名: target

図 4：MIGRATEプロシジャ（リモートオプションあり）による移行方法

具体的な手順は以下のとおりです。
具体的な手順は以下のとおりです。
1） 移行元のSAS 6またはSAS 8を起動し、CPORTプロシジャを

1） SAS 9.2より、SAS/CONNECTの機能を利用してSAS 8に接続します。

使用して移送ファイルを作成します。
OPTIONS REMOTE=<リモートホスト名> COMAMID=TCP;/* 移送ファイル */FILENAME tran '/migrate/tran.cpt ';FILENAME RLINK 'スクリプトファイルのパス';
SIGNON;LIBNAME source '/migrate/source';
PROC CPORT LIB=source FILE=tran;
RUN;2） SAS 8のリモートセッションにて、移行元のライブラリを定義します。
この際、SAS 8にて作成されたSASファイルを移行する場合は、V82） 移行元と移行先が異なる筐体の場合は、移行先にファイルを転送します。なお、FTPを使用してファイルを転送する場合は、必ずバイ
ナリモードを使用します。

エンジンを指定します。SAS 6にて作成されたSASファイルを移行する場合は、V6エンジンを指定します。
RSUBMIT;
LIBNAME rlslib <v6/v8> '/migrate/source';3） 移 行先のSAS 9. 2を起 動し、空のディレクトリを作成して、V9

ENDRSUBMIT;

エンジンのSASライブラリを定義します。その後、CIMPORTプロ
シジャにて移送ファイルを復元します。
3） SAS 9.2のセッションにて、上記2で定義した同一ディレクトリに
LIBNAME target v9 '/migrate/target';
FILENAME tran '/migrate/tran.cpt';/*V9エンジンのライブラリ */異なるライブラリ参照名を定義します。この際、SAS 8にて作成された/* 移送ファイル */SASファイルを移行する場合は、V8エンジンを指定します。SAS 6

PROC CIMPORT LIB=target INFILE=tran;にて作成されたSASファイルを移行する場合は、V6エンジンを指定RUN;します。なお、移行元と移行先環境が別筐体の場合は、移行元のSASファイルが移行先環境から参照できるようNFS等を利用してファイル共有し、ライブラリを定義します。

4.4 MIGRATEプロシジャ（リモートオプションあり）による移行方法LIBNAME source <v6/v8> '/migrate/source';

Non-NativeのSASファイルには、SAS 9.2より直接読み取りが出来ないものがあります。そのため、Non-NativeのSASファイルを可能な限り移行するには、SAS 9.2からSAS 8にSAS/CONNECTの機能を利用

4） SAS 9.2のセッションにて、RLSを使用したライブラリを定義します。

して接続し、SAS 9.2から透過的にSAS 8上のライブラリが参照可能となるようリモートライブラリサービス（以下、RLS）を使用します。なお、

LIBNAME rlslib SERVER=sassrv;

同ライブラリ参照名は、サーバー上のライブラリ参照名を指定するためのMIGRATEプロシジャのSLIBREFオプションに指定します。以下の環境を例に、詳細をご紹介します。
■ 移行元5） 空のディレクトリを作成し、SAS 9.2のセッションにてV9エンジンのライブラリを定義します。
LIBNAME target v9 '/migrate/target';

RLSのディレクトリ

: /migrate/source

RLSのライブラリ参照名: rlslib6） SLIBREFオプションにRLSを使用したライブラリ参照名を記述し、■ 移行先

MIGRATEプロシジャを実行します。

ディレクトリ: /migrate/target

ライブラリ参照名: target

PROC MIGRATE IN=source OUT=target SLIBREF=rlslib;
RUN;5. SAS 9.2への移行時の注意点■ SAS 9.2のSAS/ACCESS Oracleインターフェイスにて、ORACLEのデータ型がchar、varchar、varchar2、nchar、nvarcharのデータを読み込むと、SASの変数長が旧バージョンのものと比較して2倍になります。ADJUST̲BYTE̲SEMANTIC̲COLUMN̲LENGTHS=NO
オプションを、LIBNAMEステートメントまたはSQLプロシジャの
CON NECTステートメントに追 加することで回避いただけます。

SAS
Academic
News

本事象の詳細に関しては、下記URLをご参照ください。
Problem Note 32590:
Data might be truncated in columns CHAR & VARCHAR2 in

はじめに

UTF-8 SASR 9.1 sessions

2009年春号から、福岡大学商学部 杉本准教授によるSAS Enterprise

http://support.sas.com/kb/34/590.html

Guideを活用した事例紹介を４部作で連載いたします。その他、SAS
グローバル認定プログラムのサンプル問題の一例、最後に東京医科■ Hotfix E9BB50が適用されていないSAS 9.1.3 にてCPORTプロシジャにて移送ファイルを作成後、SAS 9.2にてCIMPORTプロシジャを

歯科大学の大橋助教授によるSAS四方山話「アンケートバイアスと
基本集計の方法」をお届けいたします。

実施すると、以下のエラーメッセージが表示されます。SAS 9.1.3にHotfix E9BB50を適用後、CPORTプロシジャにて移送ファイル■事例紹介

を再作成ください。本事象の詳細に関しては、下記URLをご参照■SASグローバル認定プログラムサンプル問題ください。

■コラム「SAS四方山話」

Problem Note 20578:
PROC CIMPORT generates warning: "This transport file is■事例紹介

from an earlier SASR release"
http://support.sas.com/kb/20/578.html
SAS 9.2への移行についての技術的なお問い合わせいただく際は、以下の情報を添えてFA XまたはE- m a ilにて弊 社テクニカルサポートにお問い合わせください。

杉本 宏幸
福岡大学商学部准教授

・移行元のOS名、SASのバージョン

博士（商学）

・移行先のOS名、SASのバージョン
・実行ログ
お問い合わせ方法の詳細に関しては、下記URLをご参照ください。
http://www.sas.com/japan/service/technical/techsup.html

6. おわりに
今回の特集の焦点といたしましては、SAS 9.2から旧SASバージョンで作成されたSASファイルをどのように扱うのか、また旧SASバージョンのSASファイルをどのようにSAS 9.2へ移行するかを具体的に説明しております。
多くのお客様に最新版のSASシステムをご利用いただくため、改善すべき点はまだありますが、移行ツールのご提供によるお客様の作業負担の軽減を実現できることを念頭に進化しております。過去の移行に関する

福岡大学は10学部約2万人の学生を擁する大きな組織で、本年特集を踏まえ、SAS 9.2への移行についてご参考いただきますようお願い

は創立75周年記念の節目の年にあたります。私が所属する商学部

いたします。

商学科は、マーケティング・流通のスタッフが私を含め6名と多く、研究・教育 環 境として恵まれてはいますが、様々な教育面での課題に直面しています。
その一つに、ビジネスの現場と教育をいかに連携できるかという問題があります。特に九州・福岡では通販会社をはじめ、ビジネスの現場でデータ分析のニーズが強く、地場企業に対してもデータ分析ができる人材の育成・提供が急務の課題として浮上しています。
しかし、正直にいえば、本学部ではこの分 野はまだメジャーでなく、データ分析という武器を身につけて卒業する学生は必ずしも多くないというのが、現実です。
現在、マーケティングを専攻する学生達に定量的な考え方を養ってもらおうと、商学科のスタッフ数名で取り組みをはじめています。
調 査 やデータ分析を一定程 度、経 験・習 得する学生が学 科 の約10%（一学年の定員210名）となることを目標に、2名のスタッフ
が講義・ゼミを中心にデータ分析に親しんでもらう試みを行っています。SAS、SAS Enterprise Guideは私の3年生ゼミ（18名）で使用しており、本年9月からの講義でも使用予定です。
商学部では、分析結果をどう解釈・活用するかという点も重視すべきと考えます。これには他科目で得られる知識等が重要なため、多様な科目の連携が不可欠と思われます。こうした動きが学科・学部全体に広がれば、多くの学生達が実践で必要なデータ
分析の能力を身につけてくれるのではと構想しています。
福岡大学商学部の試みはまだ着手しはじめたばかりです。我々も学生達も手探り状態というのが本音です。しかし、今回せっかくの機会を頂戴しましたので、本学商学部の試みと苦闘する我々

Item 2
The following observation is stored in a SAS data set
named EMPLOYEES:
LNAME
FNAME
JOBCODE--------------------------------WhitleySam
na1
If the DATA step below is executed, what will be the valueof the variable JOBDESC in the output SAS data set when
this observation is processed:
data navigate;
set employees;
if jobcode = 'NA1' then jobdesc = 'Navigator';run;
A. navigator
B. Navigator
C. NAVIGATOR
D. a missing valueの姿に、一年間お付き合い下さればと思っております。

■SASグローバル認定プログラムサンプル問題
近年、SAS認定試験プログラムを取得するお客様が増えてき ており、ワールドワイドで2万人の方々がSAS認定プログラム

を取得しております。今回は、SAS認定プログラムのいくつかのコースの中から、以下のベーシックコース及びアドバンスコー ス

Item 3
The following SAS program is submitted:
proc format;
value score 1 - 50 = 'Fail'
51 - 100 = 'Pass';run;
Which one of the following PRINT procedure steps
correctly applies the format?
A.

proc print data = sasuser.class;var test;
format test score;
run;

B.

proc print data = sasuser.class;var test;
format test score.;run;をピックアップし、実際にどのような内容の問題であるのか をご紹介いたします。なお、問題の解答は、章の最後に記載してお ります。
●SAS Base Programming for SAS 9●SAS Advanced Programming for SAS 9

C. proc print data = sasuser.class format= score;var test;
run;●SAS Base Programming for SAS 9
Item 1
The following program is submitted.
data test;
input name $ age;cards;
John +35;
run;
Which values are stored in the output data set?
A.

name
age
--------------------John
35

B.

name
age
--------------------John(missing value)

C.

name
age
--------------------(missing value) (missing value)D.

D. proc print data = sasuser.class format= score.;var test;run;

Item 4Given the following DATA step:
data loop;
x = 0;
do index = 1 to 5 by 2;
x = index ;
end;
run;
Upon completion of execution, what are the values of thevariables X and INDEX in the SAS data set named LOOP?
A.
B.
C.
D.
E.

x = 3, index = 3
x = 3, index = 4
x = 5, index = 5
x = 5, index = 6
x = 5, index = 7

The DATA step fails execution due to data
errors.
Item 5Given that the data set named ONE contains 10 observations
and the data set named TWO contains 10 observations, howmany observations will be contained in the data set named
COMBINE that is created in the following DATA step?

THREEdata combine;
set one two;
run;
A. 10
B. 20
C. 0, the DATA step will fail due to syntax errors
D. 10 to 20, depending on how many observations
match

Item 1Given the following SAS data sets ONE and TWO:QTR

BUDGET

YEAR

QTR

SALES

2001

3

500

2001

4

300

2001

4

400

2002

1

600

2002

1

700

The following SAS program is submitted:
proc sql;
select one.*, sales
from one right join two
on one.year = two.year;
quit;
Which one of the following reports is generated?

B.

C.

D.

1

A

2

B

CHAR2

3

X
Y

4

D

5

V

A.

proc sql;
create table three as
select *from one full join two
where one.num = two.num;
quit;

B.

proc sql;
create table three as
select coalesce(one.num, two.num)
as NUM, char1, char2
from one full join two
where one.num = two.num;
quit;

C.

proc sql;
create table three as
select one.num, char1, char2
from one full join two
on one.num = two.num;
quit;

D.

proc sql;
create table three as
select coalesce(one.num, two.num)
as NUM, char1, char2
from one full join two
on one.num = two.num;
quit;

TWO

YEAR

A.

CHAR1

Which one of the following SQL programs creates anequivalent SAS data set THREE?

●SAS Advanced Programming for SAS 9

ONE

YEAR

YEAR

QTR

BUDGET

SALES

2001

3

500

・

YEAR

QTR

BUDGET

SALES

2001

4

400

300

2002

1

700

600

YEAR

QTR

BUDGET

SALES

2001

3

500

・

2001

4

400

300

2002

1

700

600

YEAR

QTR

BUDGET

SALES

2001

3

500

300

2001

4

400

300

2002

1

700

600

Item 3
The following SAS program is submitted:%let type = RANCH;
proc sql;
create view houses as
select *from sasuser.houses
where style = "&type";
quit;%let type = CONDO;
proc print data = houses;run;
The report that is produced displays observations whose
value of STYLE are all equal to RANCH.

Item 2Given the following SAS data sets ONE and TWO:
ONE

TWO

NUM

CHAR1

NUM

CHAR2

1

A

2

X

2

B

3

Y

4

D

5

V

The following SAS program is submitted creating theoutput table THREE:
data three;merge one (in = in1) two (in = in2);
by num;run;

Which one of the following functions on the WHERE clauseresolves the current value of the macro variable TYPE?
A. GET
B. SYMGET
C. %SYMGET
D. &RETRIEVE

Item 4The SAS data set SASDATA.SALES has a simple index on
the variable DATE and a variable named REVENUE with noindex.

■コラム「SAS四方山話」
In which one of the following SAS programs is the DATE
index considered for use?
A.

proc print data = sasdata.sales;by date;
run;

第5回

B.

proc print data = sasdata.sales;
where month(date) = 3;
run;

大橋

C.

D.

data march;
set sasdata.sales;
if '01mar2002'd < date <'31mar2002'd;run;data march;
set sasdata.sales;
where date < '31mar2002'd or revenue> 50000;run;「アンケート四方山話（3）アンケートバイアスと基本集計の方法」

渉東京医科歯科大学

医歯学総合研究科大学院

生命情報学

情報医科学センター

臨床・生物統計グループ

特任助教1)いよいよ集計…の前に、最近見たアンケートの中から調査票の作成からデータの入力方法まで一通り説明させて頂きまして、今度こそS A Sの出番となります…がその前に、私が最近見たアンケートの中でかなり印象深かったものを2、3ご紹介させて頂きたいと思います。アンケートを見て真っ先に思うことは、多くの方にとっては「どう回答するか」だと思うのですが、そろそろ皆様
は、「相手が何を知りたがっているのだろう？」「このアンケートの目的は何だろう？」などと考えることもできる頃だと思います。
当然、まずい部分の指摘もできる頃ではないでしょうか？というわけ[correct̲answer]●SAS Base Programming for SAS 9・Item 1：A
・Item 2：D
・Item 3：B

で下記の2点について、最低5分は立ち止まって考えてみてください。
Q1：政府は定額給付金を強行しようとしておりますが、あなた は定額給付金の給付に賛成ですか、反対ですか？
Q2：小学校における性教育は早すぎないと思いますか？
思う

・

思わない

・Item 4：E
・Item 5：B

まずQ1ですが、「強行」という言葉は既にマイナスイメージのある言葉です。設問に「いかにも定額給付金の施行はいけないことで●SAS Advanced Programming for SAS 9ある」のような意味を含んでしまうため、回答そのものが誘導され・Item 1：Dてしまう可能性があります。この場合、句読点以前の説明は不要…

・Item 2：Dというよりはむしろ付与してはいけません。Q2は表現が紛らわしく、・Item 3：B

小 学 校における性教育が 早すぎると思っている人でもうっかり・Item 4：A

「思う」に印を付けてしまう可能性があります。聞くならば「早すぎると…」ですね。英語の文法で言えば「付加疑問文（Don t you〜？）」や「Do you mind〜ing？（〜することを嫌がりませんか）」のような聞き方をするべきではないということです。
実はQ1の誘導については、直接的でなくとも知らずにやってしまうことがあります。例えば顧客の意向が知りたいのであれば、お客様向けアンケートに実施企業名を出すのは何等問題はないのですが、一般の人々を対象とする場合はいかがでしょうか？「正直に回答しにくいからつい模範解答を」「この企業・団体は嫌いだからボロクソに」という心理が働いてしまうのはよくある話であり、実施段階で既にバイアスがかかっています。本当に正確な情報を知りたいのであれば、バイアス防止のためにもアンケートの主催者名を出すべきではないということなのです。某婦人団体がサッカー
くじ導入の反対運 動をやっている会 場で、道行く人に実 施した
アンケートの結果には、その時点でバイアスがかかっているのは言う*)までもありません 。これほど極端ではないにしても、知らず知らずに回 答を誘 導してしまう事 例はよくある話で す ね 。特に面 接調 査 や ホールテスト、グループインタビューの担当者の皆 様は要注意です。
*）このような事例は谷岡一郎先生の著作『「社会調査」のウソ―リサーチ・リテラシーのすすめ (文春新書) 』に満載されております。統計学云々ではなく、とにかく「読むとスカッとする」ことは間違いありません。谷岡先生曰く「統計をいかがわしく用いている人々にとっては、血管が切れるほど頭にくると思うので読まないこと？」をお勧めしているようですが（笑）

代わりにmea nsを用いて行ってもかまいません（実は、procの2)SASへのデータ読み込み
ようやく本題です。前回までにアンケート結果をM ic ros of t
Excelにまとめてあるかと思いますが、まずはそれをSASに読み込む

後を一箇所書き換えるだけでそのまま使えたりするプロシージャ
がSASには結構存在するのです）。

ことから始めましょう。ソフトウェアを購入して、有料でインストール
まではしてもらったけど…データの読み込み方がわからず挫折とproc univariate data=Question(どのデータを用いる？);いうパターンは他の 統 計ソフトウェアでも結 構多いので、是非

var Q1;(何について集計したい?);「たかがデータの読み込み」などと考えないで下さい。読み込みにclass Q2(性別で。もしも地域別ならclass Q4。);

は、①Enterprise Guide、②「ファイル」メニューからインポートrun;

ウイザード、③proc importのうちどれを用いても構いませんが、(univariateの代わりにmeansでも構いません）

ここではproc importを用いてみましょう。詳細はSASのトレーニング
コース「S A SプログラミングⅠ」などもございますが、簡単に紹介させて頂きます。

proc import out=Question(データセット名。任意です)
Q2〜Q6に関してはf reqプロシージャを用いて「頻度集計」を

datafile=(どこにある何というExcelファイル？)sheet=”(importしたいワークシート名)”行います。proc freq data=Question; tables Q2; run; とすれば、

dbms=(Excelの何年バージョンですか？);

男女の人数と割合が集計されます。Q2の代わりにQ3とすれば

run;

ソフトウェアの利用経験別、Q4とすれば地域別に集計されます。
もしも、男女・地域別の集計であれば、2行目を「tables Q2 * Q4;」

これでwork上にSASデータセット「Question」が完成しているか*)と書き換えてください。マーケティングなどではおなじみの、いわゆる確認してみましょう 。完成していたらダブルクリックして変数名を「クロス集計」の機能がこれです。結果のみであれば、out p ut

確 認してみて下さい。変数名は「日本 語を用いていなければ」

ウインドウでクロス表の形で確認できますが、綺麗なレポートとして

Excelで指定したままになっていると思います。

出力したいのであればODSなど多彩な機能で対応できます。
アンケートに限らずですが、統 計処 理において必 要なことは

NUM

Q1

Q2

Q3

Q4

Q5

0001

28

1

0

3

2

1

1

0

1

0

0002

35

0

1

2

3

0

0

0

0

1

Q6̲1 Q6̲2 Q6̲3 Q6̲4 Q6̲5 Q6̲Ot Q7

次回に説明させていただきます「検定」におきましても全く同様
教本の 特に多さ なし*)完成していない場合はlogウィンドウを確認してみましょう。エラーの原因が示されているはずです（どのようなプログラムでも、実行したら必ずlogを見ること！…は、筆者も昔先輩に教わりました）

3)基本的な集計方法

Q1：年齢

（

）

Q2：性別

男・女

Q3：過去に統計ソフトウェアの利用経験がある？
Q4：居住地域

はい・いいえ1.北海道･･･（中略）･･･8.九州・沖縄

Q5：この統計ソフトウェアの満足度は？
1.非常に高い

2.高い方

3.低い方

4.非常に低い

Q6：統計ソフトウェアを購入するときに何を重視するか？（該当するもの全て）
1.価格 2.機能の多さ 3.使いやすさ 4.ユーザー数 5.その他（）

Q7：統計ソフトウェア全般に対するご意見（「データに合致した処理を行なうこと」に他なりません。それは、）では、前回のファイルを例に基 本集計について説明させて頂きます。結論から申しますと、データに合致した集計・解 析を行わなければ結果は全く意 味をなさないものになります。例えば
Q5の平均値などは意味をなしません（カテゴリ数がもっと多ければ傾 向ぐらいは見えるかもしれませんが …）ので、この中で平 均 値 を 算 出 して 意 味 が あ るも の は Q 1 だ け で す。p r o cunivariate data=Question; var Q1 ; run; とするだけで、平均値をはじめとした大量の情報が出てまいります。何も指定しなければアンケート全体の年齢が算出されるだけですので、例えば男女別であれば「class Q2;」を、地域別であれば「class Q4;」を1行、
run;までの間に挿入してください。もしも「男女・地域別の年齢」
であれば、by Q2; class Q4;になります。ただし、by〜を用いるときには必ずby〜の変数にてsor tするのを忘れずに（S A S文 法全てにおいてこれは共通項です）。
また基本統計量だけならば、univariateのなのです。

SORTプロシジャのNODUPKEYオプションを指定して作成したデータセットを、MIGRATEプロシジャにて移行したところ、以下のメッセージが出力されました。どのように対応すればよいでしょうか？
● DDEを使用した上付き文字の出力

NOTE: Migrating INLIB.TEST to OUTLIB.TEST (memtype=DATA).

● MIGRATEプロシジャ実行時のメッセージWARNING: OUTLIB.TEST.DATAのNODUPKEY並べ替え順序表明● SASデータセットの作成日付をコピーしたいは削除されました。再表明するには、NODUPKEYを使い、● SASインストールデータファイルは正しくありません

もう一度並べ替えてください。

● ログをファイルとウィンドウの両方に出力したい● 変数の値を引用符で括りマクロ変数に格納する

MIGRATEプロシジャにてデータセットの移行を行なうと、● Excelへのデータエクスポート時の出力形式

データセット中のNODUPKEYの情報が削除されるため、● サポートベクターマシンに対応した分析機能

メッセージが表示されます。

● 偏プロット（部分プロット）上の値をデータセットに出力● カイ2乗検定における警告メッセージの出力

SORTプロシジャのNODUPKEYオプションを使用してデータを再作成するか、MIGRATEプロシジャにてKEE PNODUPKEYオプションを使用して、再度移行作業を実施してください。

DDEを使用してEXCELファイルに上付き文字（10の2乗など）を出力する方法はありますか？

PROC MIGRATE IN=inlib OUT=outlib KEEPNODUPKEY;
RUN;

EXCELの上付き文字は、通常セルの書式設定にて指定します。このセル の 書 式 設 定を行うDD Eコマンドは
FONT.PROPERTIESに該当し、第5引数、第13引数と第14引数を指定することで上付き文字へ変更することが可能です。

SASデータセットをCO PYプロシジャでコピーしたら、各引数の説明は次の通りです。注意点といたしまして、事前にセルのSASデータセットの作成日付が最新の日付になってしま

表示形式を文字列に設定する必要があります。

いました。元の作成日付に戻したいのですが、どうしたらよいでしょうか？

第5引数1を設定することで上付き文字にする

第13引数

開始位置

SAS 9より、COPYプロシジャのオプションとして、元の

第14引数

長さ

ファイルの作成日付を引き継ぐDATECOPYが利用可能です。

次に、10の2乗を表示するサンプルプログラムをご紹介します。
以下の例をご確認ください。
OPTIONS NOXWAIT NOXSYNC;/* EXCELの起動*/
DATA _NULL_;X "START EXCEL";
X = SLEEP(5);RUN;/*セルの書式を文字列にする*/
FILENAME format DDE 'EXCEL|SYSTEM';DATA _NULL_;
FILE format;
PUT '[FORMAT.NUMBER("@")]';
RUN;/*データ入力*/
FILENAME xls DDE "EXCEL|SHEET1!R1C1" NOTAB;DATA _NULL_;
FILE xls;
PUT '102';
RUN;/*上付き文字設定*/
FILENAME super DDE 'EXCEL|SYSTEM';DATA _NULL_;
FILE super;
PUT '[SELECT("R1C1")]';
PUT '[FONT.PROPERTIES("ARIAL","BOLD",8,0,1,0,0,0,1,0,0,1,3,1)]';
RUN;/* コピー元 */LIBNAME alib "c:¥a";/* コピー先 */LIBNAME blib "c:¥b";/*DATECOPY オプションでコピー */PROC COPY IN=alib OUT=blib DATECOPY;
RUN;

詳細については、オンラインヘルプをご参照ください。
http://support.sas.com/onlinedoc/913/getDoc/ja /proc.hlp/a000 085782.htm

S A S 9をインストールする際、SASインストールデータを指定したところ、「SAS 9.1のSASインストールデータ
ファイルは正しくありません。」と表示されインストールが行えません。どのように対処すればよいのでしょうか？
SASインストールデータファイルは電子メールにて送付
しております。メールシステムによっては、ファイルの改行文字やファイル末尾の空白が欠落し、正しいインストール

その他の引数の詳細については、Microsof t社のホームページよりデータとして認識されない場合があります。

MACROFUN.EXEという名前で検索し、EXCEL4のマクロに関する

この現象が発生したときは、一度次の操作をお試しください。

HELPファイルにてご確認ください。

1. Windowsのメニュー「スタート｜プログラム｜アクセサリ｜ワードパット」

例から「ワードパット」を起動します。
2. 「ワードパッド」から、SASインストールデータファイルを開きます。
3. ファイルの末尾に数行の「改行」を追加します。
例...
$_Stream=--------------------- END --------------------[_EOF_]（改行を追加）（改行を追加）4. SASインストールデータファイルを「上書き保存」し、「ワードパッド」
を終了します。
5. 再度、インストールをお試しください。
なお、この現象はライセンス更新の際にも発生する場合があります。
その場合も、上記と同様の操作をご確認ください。また、この方法を適用しても依然としてインストールを継続できないときは、テクニカル
サポートまでご連絡ください。

/* トランザクションデータの作成 */DATA trans;
INPUT name $;DATALINES;
山田
鈴木
;
RUN；
/* トランザクションデータを引用符で括り *//* スペース区切りでマクロ変数に格納 */PROC SQL NOPRINT;
SELECT QUOTE(TRIM(LEFT(name)))
INTO :list SEPARATED BY ' 'FROM trans;
QUIT;/* マスターデータセットの作成 */DATA master;
INPUT name $;DATALINES;
山田
鈴木
高橋
;
RUN;
/* マクロ変数と合致する値を PRINT する */PROC PRINT DATA=master;
WHERE name IN (&list);
RUN;

特定のステップの実行ログを、ウィンドウとファイルの

EXPORTプロシジャでExcelへ出力した際に、SASデータ両方に出力する方法はありますか。

セットの変数に指定した出力形式が反映されません。出力
形式を引き継ぐ方法はありますか？

一度に両方へ出力する方法はありませんが、PRIN TTO
プロシジャでファイルに出力した後、そのファイルを読み

EXPORTプロシジャからのExcel出力では、SASデータ

込んでログウィンドウに出力することで、期待する結果がセットの変数に指定した出力形式は反映されません。

得られます。

しかし、出力したExcelファイル上で数値にカンマ形式が適用された形で参照するには、以下のような方法があります。

/* ログの出力先をファイルにする */PROC PRINTTO LOG="c:¥temp¥test.log";
RUN;/* ログに記録したい処理 */DATA _NULL_;
RUN;/* ログの出力先をウィンドウにする */PROC PRINTTO LOG=LOG;
RUN;/* ログファイルを読み込んでウィンドウに出力 */DATA _NULL_;INFILE "c:¥temp¥test.log" LRECL=200 PAD;
INPUT MSG $CHAR200.;
PUT MSG;RUN;

ある変数の値をそれぞれ引用符ではさんで、一つのマクロ変数に格納したいのですが、どのようにすればよいでしょうか？
QUOTE関数を使用することで値を引用符ではさむこ とができます。SQLプロシジャのINTO句とこの関数 を組み合わせることで実現可能です。

1. タブ区切りのテキストファイルとして出力し、その出力ファイルをExcelで開く。
2. 該当のSASデータセットのビューを作成し、そのビューをExcelに出力する。
3. Excelが提供するDDEの機能を使用して、Excelへの書出しを行なう。
＊DDEの使用に関する詳細は、以下のURLにて公開されています。
http://support.sas.com/onlinedoc/913/getDoc/ja/hostwin.hlp/ddesyntax.htm
http://support.sas.com/onlinedoc/913/getDoc/ja/hostwin.hlp/ddeexamples.htm
DATA sample;
INPUT d1;
FORMAT d1 COMMA10.2;
CARDS;
11111.11
22222.22；
RUN;/*１タブ区切りのテキストファイルとして出力（テキストファイルを Excel で開く）*/
PROC EXPORT DATA=sample
OUTFILE='c:¥temp¥sample1.txt'
DBMS=TABREPLACE;RUN;/*２ ビューを作成し、ビューを Excel ファイルに出力 */
PROC SQL;FREQプロシジャのTABLESステートメントにて、CHISQCREATE VIEW work.sample_view AS
SELECT PUT(d1, COMMA10.2) AS d1 FROM sample;
QUIT;
PROC EXPORT DATA=work.sample_view
OUTFILE='c:¥temp¥sample2.xls'
DBMS=EXCELREPLACE;
RUN;

オプションを指定した際、カイ2乗検定に関して、以下の
WARNINGメッセージが表示される場合があります。
WARNING:セルのxx%において、期待度数が5より小さくなっています。
カイ2乗検定は妥当な検定でないと思われます。

/*3 DDE 出力 *//* Excel の sheet をオープンして、入力する範囲をマークします。*/

このメッセージはどのような条件の場合、表示されるのでしょうか。
また、このWARNINGメッセージの有無をデータセットに出力できますか。

/*Excel のメニューから [ 編集 ] → [ コピー ] を選択します。*//* SAS のメニューから [ ソリューション ] → [ アクセサリ ] → [DDE トリプレット ] を選択します。*//* DDE トリプレットが表示されますので、Cntl + C キーを押します。*//* Cntl+ V キーを押して、DDE トリプレットを Program Editor に貼り付けます。*/
FILENAME excl DDE 'Excel|[Book1]Sheet1!R1C1:R3C2';/*!DDE トリプレット指定 */DATA _NULL_;SET sample;
FILE excl;
PUT d1 :COMMA10.2;
RUN;

該当のWARNINGメッセージは、期待度数が5より小さいセルの比率が20％より大きな場合に表示されます。設定に応じてアウトプットまたはログ画面に表示されますが、
データセットに出力するためのオプションはありません。
該当のWARNINGメッセージの有無をデータセットにて保持するためには、以下のようなプログラムを別途記述することになります。
例

サポートベクターマシン(SVM)に対応した分析機能はありますか？
SAS Enterprise Miner 6.1からは、2値ターゲットの場合をサポートしたSVMノードが新たに正規版としてサポートされています。
それ以外のプロダクトでは実装されていません。ただし、本質的には2次最適化に帰着されることから、SAS/ORのプロシジャやSAS/IMLの非線形最適化サブルーチンを利用すれば、問題によってはプログラムを具体的に記述することにより実現が可能です。

REGプロシジャのMODELステートメントにて、PARTIAL
オプションを指定することによって、偏プロット（部分プロット）が作成されます。このグラフにおける各点の値をデータセットに出力できますか。
SAS 9.2では、新たにPARTIALDATAオプションが追加され、偏プロット（部分プロット）における各点の値がアウト
プット画面に表示されます。このため、ODS OUTPUT
ステートメントを用いて、データセットに出力することができます。
SAS 9.1.3もしくは以前のリリースでは、対応しているオプションがありません。しかしながら、偏プロット（部分プロット）はある変数の効果を考慮した上での、2変数間の散布図であることより、以下のようなREG
プロシジャのプログラムを用いることによって、値を求めることができます。
例
PROC REG DATA=sashelp.class;
MODEL weight height=age;
OUTPUT OUT=out R=r_w r_h;
RUN;
QUIT;

この例では、変数AGEを考慮した上での、変数WEIGHT、HEIGHTの偏プロット上の点（R̲W, R̲H）をデータセットOUTに出力しています。

/* 期待度数をデータセットに出力 */
PROC FREQ DATA=one NOPRINT;TABLES row*col /OUTEXPECT SPARSE OUT=out;
WEIGHT count;
RUN;/* WARNINGの有無を判断 */DATA flag;
SET out END=eof;
IF EXPECTED < 5 THEN less+1;
IF eof THEN DO;
ratio=less / _N_;IF ratio > 0.20 THEN flag=1; ELSE flag=0;
OUTPUT;
END;
KEEP ratio flag;
RUN;

SAS
Training■新規トレーニングコースの開催のご案内

日

程：2009年6月29日（月）〜30日（火） 10:00 〜 17:00（東京会場）

SASトレーニングのお知らせ

価格：115,500円（税込）／チケット捺印数 2●SAS® Enterprise Guide®による回帰分析Ⅰ」コース（2日間）

受講対象：ポイント＆クリックで操作するSAS Enterprise Guideを使用して、統計解析の代表的手法である回帰分析を行い■特別トレーニングコースの開催のご案内

たい方
前提知識：「SASによる統計解析Ⅰ」または「SAS Enterprise Guideに●「医学研究における経時データ解析」コース（2日間）
日

程：2009年5月25日（月）〜26日（火） 10:00 〜 17:00（東京会場）

価

格：147,000円（税込）／※チケットのお取り扱いはありません。

受講対象：SASによる統計解析に従事する方
前提知識：「医薬向け分散分析」を受講済みか、同程度の知識のある方
学習内容：医薬統計専門家により以下の内容で行います。

よるデータ解析入門」を受講済みか、同程度の知識のある方
学習内容：回帰分析、およびロジスティック回帰についての基本的な考え方と手法を紹介します。コース内容は、「SASによる回帰分析Ⅰ」と同等です。
コンテンツ：■ 回帰分析
・探索的データ解析

多くの医学研究においては、研究対象者ごとに時間を追って

・単回帰分析

反応変数を繰り返し測定することがあり、このような研究は・重回帰分析の考え方

経時観察研究などと呼ばれます。

・ステップワイズ回帰のテクニック

その研究目的の一つは、反応変数と時間、治療効果あるいは■ モデルの構築と解釈

他の説明変数との関係を定量的に評価することです。同一・総当たり法による変数選択を伴う回帰

対象者内の反応変数には相関が生じることから、統計的に・残差の分析

妥当な推論を行うためには測定単位に起因する相関を考慮

・影響力の大きいオブザベーション

する必要があります。そのような反応変数間の相関を考慮

・多重共線性する方法として、線型混合モデル及び一般化推定方程式■ ロジスティック回帰によるカテゴリカルデータ解析（GEE）による解析方法が近年注目を浴びてきています。

・ロジスティック回帰入門

このコースでは、線型混合モデルと一般化推定方程式の・多重ロジスティック回帰

理論的背景について講義し、実際の医学データの解析を・ロジットのプロット（自己学習）

通してMIXEDプロシジャ及びGENMODプロシジャの使用法について学びます。
・線型混合モデル及び一般化推定方程式（GEE）に関する
基本概念の説明・MIXEDプロシジャ及びGENMODプロシジャの使用法
・医学分野における実データの解析
コンテンツ：■経時データ解析へのイントロダクション
・経時データ解析の基本概念
・探索的データ解析■連続型反応変数に対する経時デ−タ解析
・線型混合モデル・共分散構造の評価
・モデルの構築と解釈
・ランダム係数モデル
・モデルの評価■離散型反応変数に対する経時デ−タ解析
・二値反応変数に対するGEE回帰モデル
・順序反応変数に対するGEE回帰モデル
・GEE回帰モデルの回帰診断
・一般化線型混合モデル

●「SASプログラミング１：必須要素」コース（3日間）■区切り記号付きローデータファイルの読み込み

日

程：2009年6月3日（水）〜5日（金） 10:00 〜 17:00（東京会場）

・入力としての標準区切り記号付きデータの利用

価

格：173,250円（税込）／チケット捺印数 3※本コースの内容はSAS 9.2をベースとしていますが、それ以前のバージョンを使用しているユーザーにも適しています。

概要：本コースは、S A Sプログラムの記 述 方法を学習したい
ユーザーのためのコースです。SASプログラミングを学習するための入り口となり、他の多くのSASコースへの前提条件となります。SASプログラムを記述する必要がなく、ポイント＆クリックインターフェイスを使用したい場合には、「SAS Enterprise Guideによるデータ加工とレポート・入力としての非標準区切り記号付きデータの利用■データの検証とクリーニング
・データの検証とクリーニング イントロダクション
・ローデータファイルを読み込んだ場合のデータエラーの調査・PRINTプロシジャとFREQプロシジャによるデータの検証
・MEANSプロシジャとUNIVARIATEプロシジャによるデータの検証作成」コースの受講をお勧めします。

・不正データのクリーニング

本コースは、SAS認定試験「SAS Certified Base Programmer■データ操作

Credential for SAS 9」の準備にも適しています。

・変数の作成受講対象：SASプログラムの記述を始めようとしているすべてのユーザー
前提知識：本コースの受講には、コンピュータソフトウェアの使用経験が必要です。特に次のことが必要になります。

・条件付き変数の作成
・オブザベーションのサブセット化■SASデータセットの組み合わせ
・データセットの組み合わせ イントロダクション

・お使いのオペレーティングシステム上のファイル構造やシステムコマンドを理解していること・お使いのオペレーティングシステム上のデータファイルに・データセットの追加
・データセットの縦結合
・1対1のデータセットのマージ

アクセスすること

・1対多のデータセットのマージ

SASの経験は必要ありません。もし、この前提条件を満たし■レポートの拡張

・一致しない行のあるデータセットのマージていないか、プログラミングの経験が浅く、コース内容が多い

・グローバルステートメントの利用と感じられる場合は、このコースの受講の前に「SASプログラ

・ラベルと出力形式の追加

ミング入門：基本概念」コースを受講することをお勧めします。

・ユーザー定義出力形式の作成「SASプログラミング入門：基本概念」コースでは、コン・オブザベーションのサブセット化とグループ化

ピュータプログラミングの初心者のために「SASプログラミン

・外部ファイルへの直接出力

グ１：必須要素」コース内容の一部を丁寧に解説しています。

■要約レポートの生成

学習内容：・SASウィンドウ環境を紹介します。
・SASデータセットにさまざまな種類のデータを読み込みます。

・FREQプロシジャの利用
・MEANSプロシジャの利用

・SASデータセットを検証し、クリーニングします。

・TABULATEプロシジャの利用（自己学習）

・SAS変数やデータのサブセットを作成します。

■SAS/GRAPH を利用したグラフ イントロダクション

・SASデータセットを結合します。

・棒グラフと円グラフの作成

・リストレポートや要約レポートの作成や拡張を行います。

・散布図の作成

コンテンツ：■イントロダクション

・出力の拡張・コース概要・Foundation SASの概要

SAS Institute Japan株式会社では、今後も多岐にわたったトレーニング■SASを始めよう

コースを追加していく予定です。コース内容・日程等の詳細は、順次弊社

・SASプログラミング イントロダクション

Webサイトに公開しますので、以下のURLをご参照ください。

・SASプログラムの実行

http://www.sas.com/japan/training/■SAS構文での作業
・基本概念のマスター

その他、トレーニングに関する情報については、上記のURLをご参照

・構文エラーの診断と修正いただくか、下記トレーニング担当までお問い合わせください。

■SASデータセットに親しもう・ディスクリプタ部とデータ部の調査
・SASデータライブラリへのアクセス
・リレーショナルデータベースへのアクセス（自己学習）■SASデータセットの読み込み
・データ読み込み イントロダクション・入力としてのSASデータセットの利用
・オブザベーションと変数のサブセット化
・永久属性の追加■Excelワークシートの読み込み・入力としてのExcelデータの利用
・Excelワークシートでさらに行うこと（自己学習）

トレーニングに関するお問い合わせ先最新リリース情報■PCプラットフォーム
Windows版

SAS 9.1.3 / 9.2

64-bit Windows（Itanium）版

SAS 9.1.3 / 9.2■UNIXプラットフォーム
SunOS/Solaris版

SAS 9.1.3 / 9.2

HP-UX版

SAS 9.1.3 / 9.2

HP-UX（Itanium）版

SAS 9.1.3 / 9.2

AIX版

SAS 9.1.3 / 9.2

Linux（Intel）版

SAS 9.1.3 / 9.2■メインフレームプラットフォーム
IBM版（OS/390、z/OS）

SAS 9.1.3 / 9.2

富士通版（F4、MSP）

SAS 6.09E

TS470

日立版（VOS3）

SAS 6.09E

TS470※9.2はIntelligence Platform製品を除く

SAS Technical News送付についてのご案内
SAS Technical Newsは次の方を対象にお送りしています。
・SASコンサルタントとしてご登録の方・SAS Technical Newsの購読をお申し込みいただいている方
今後SAS Technical News購読が不要の方、配信先の変更等をご希 望の方は、下記URLよりお手続きください。
配信停止※「定期購読キャンセルのお申し込み」よりお手続きください。
http://www.sas.com/japan/corporate/material.html#tn
配信先変更手続き※「お問い合わせ・ご依頼受付ページ」よりお手続きください。
http://www.sas.com/japan/sasj̲privacy.html#inquiry

Spring 2009発行
テクニカルニュースに関するお問い合わせ先

テクニカルサポートグループ

TEL:03-3533-3877
FAX:03-3533-3781