Winter 2009

Winter 2009

特集

SAS 9.2への移行について1

SAS 9.2への移行について

5

SAS Academic News

7

Q&A

1. はじめに
SASの最新リリースであるSAS 9.2がリリースされ、3カ月あまり経ちま14

SASトレーニングのお知らせした。今号の特集では、移行を検討されるお客様を対象に、SAS 9.2
Foundationへの移行の概要、方法論、注意点などをご紹介します。
具体的な移行方法については、次号の特集にて掲載予定です。

16

マニュアル販売に関するお知らせ

16

最新リリース情報

掲載しておりますので、ご確認ください。

16

SAS Technical News送付についてのご案内

SAS Technical News Autumn 2008

なお、SAS 9.2の新機能に関しては、前回のSAS Technical News
Autumn 2008の「特集1 SAS 9.2のご紹介（Foundation編）」にて

http://www.sas.com/japan/periodicals/technews/pdf/08aut.pdf

2. 移行の概要
SAS 9.2への移行は、計画の立案、環境の構築、計画に基づいた移行作業の3つのフェーズで行ないます。
1）計画（移行前の準備：移行計画立案）
・ドキュメントの入手方法（インストールセンターについて）・ SAS Foundationシステム必要条件について・ 既存資産のボリュームの確認
・ 既存資産の分類
・ 移行ゴールの設定
2）環境構築（新環境の構築）
・ SAS 9.2のインストール
・ SAS 9.2の動作検証ツール
・ 複数バージョンのSASを共存させる場合の注意点
・ Windows版SAS 9.2固有の注意点
・ プロダクト別の注意点

Winter 20093）移行の環境準備および移行作業

3.3 既存資産のボリュームの確認

・ SASシステムオプション

既存資産（SASプログラム、データセット、
カタログなど）の棚卸のために、・自動実行ファイル（AUTOEXEC）

ボリューム確認を行ないます。具体的には、SASの拡張子（SAS 8から・ SASライブラリ（データセット、
ビュー、
カタログ）の移行の移行の場合は、.sas7bdat、.sas7bcatなどのファイル）をシステム全

・その他の注意点

体から検索し、その容量を特定します。また、SASプログラムをスケジュー・ 新環境への切り替え

ル化して実行している場合には、ジョブの本数、実行頻度もあわせて確認します。なお、各エンドユーザー部門が多岐にわたる場合は、既存

3. 計画（移行前の準備：移行計画立案）

資産のボリュームや実行頻度などを、インタビューや質問表などで確認

移行計画の手始めとして、移行先環境または、移行のためのテスト環境

するのが一般的です。

のオペレーティングシステム（以下、OSと略）が、SAS 9.2のシステム
必要条件を満たしているかを確認します。次に、現在ご利用中のプロダ

3.4 既存資産の分類

クトに依存したシステム環境のバージョン、例えば、データベースやJRE

重要度、実行頻度をもとに、既存資産を1〜4のカテゴリに分類します。

などのバージョンの確認を行ないます。

以下図1の縦軸は「実行頻度」、横軸は「重要度」を表しています。

● SAS/ACCESSについて
外部データソースとしてデータベースをご利用の場合、DBMS製品のソフトウェアのバージョンがシステム必要条件を満たしているかどうか

実
行
頻
度

3

1

4

2

確認します。システム必要条件に記載されていないバージョンをご利用の場合は、弊社テクニカルサポートまでお問い合わせください。
● JRE（Java Runtime Environment）について
SAS 9.2 FoundationはJRE 5を必要とします。システム必要条件に記載されていないバージョンをご利用の場合は、弊社テクニカルサポート
までお問い合わせください。

重要度
図１：プログラム資産の分類図

3.1 ドキュメントの入手方法（インストールセンターについて）

上記分類をもとに、移行テストに使用するSASアプリケーションを選定

SAS 9.2のインストールに関連するドキュメントは、弊社テクニカルサポー

します。既存資産のボリュームが少ない場合、上記のカテゴリに分類

トのWebサイトのインストールセンターから入手してください。掲載されすることなく、全てのアプリケーションを実行し検証していただく方法ているドキュメントには、以下の種類があります。

があります。しかしながら、日常的に業務アプリケーションとしてSAS・ SAS Foundationシステム必要条件

を使用している場合、ある一定数のプログラムが存在するのが一般

・プロダクト システム必要条件的です。これら全てのプログラムを実行し検証することが難しい場合、・クイックスタートガイド

カテゴリ毎に実行本数をサンプリングすることにより、効率的に検証・ SAS Deployment Wizardユーザーガイドすることができます。

・ SAS Foundation使用上の注意点
・ SAS検証ツールユーザーガイド

１のカテゴリでは、重要度および実行頻度も高いため、基本的には全て・ SAS Foundation設定ガイドのアプリケーションの検証が望ましいと考えます。しかしながら、全ての・ SAS Foundationソフトウェアの更新手順

アプリケーションの実行による検証が難しい場合、代表的なアプリケーショ
ンからサンプリングし、検証を行なう方法があります。

インストールセンターのURL

該当するアプリケーションとしては、日時の夜間バッチなどで起動される

http://www.sas.com/japan/service/documentation/installcenter/index.html

ジョブや週次、月次そして四半期など、スケジューラに登録され定例的に

なお、インストールセンターおよびSASインストールに関するドキュメントなどが想定されます。

実行するバッチジョブ、業務上、日常的に実行しているアプリケーションの概要は、前号の「SAS Technical News Autumn 2008」の「特集2 SAS 9.2対応インストールセンターのご紹介」にて掲載しております

2のカテゴリは、上記１のカテゴリより実行頻度は少ないものの重要度

ので、あわせて参考にしてください。

が高いため、基本的には１のカテゴリ同様、全てのアプリケーションを実3.2 SAS Foundationシステム必要条件について難しい場合、やはりサンプリングによるアプリケーションの選定にて、検SAS Foundationシステム必要条件には、SAS 9.2がサポートするOS、証を行なう方法があります。

行し、検証することが望ましいと考えます。ただし、全ての実行と検証がCPUの種類、メモリ容量、使用ハードディスク容量などの稼動要件が掲載されています。このドキュメントを確認し、SAS 9.2の稼動要件を満たして3のカテゴリは、アプリケーションの実行頻度は高いものの重要度が低いる移行先環境を構築する必要があります。ただし、SAS 9.2では、一部

いため、代表的なアプリケーションのサンプリングのみでの検証で十分サポート対象外となったOSもありますので、ご注意ください。

であると想定されます。サンプリングの本数自体も、カテゴリー１および２

システム必要条件に記載されているメモリ・ハードディスク容量は、必要最より少ない本数とし、かつ、アプリケーションの処理内容を特定し、検証

小限の値です。このため、ご利用形態によっては、より多くのメモリ・ハードディする方法があります。

スクを搭載する必要があります。現状搭載されているメモリ・ハードディスクの容量を基準として、現在の運用におけるパフォーマンスデータやジョブの4のカテゴリは、実行頻度が少なく、重要度も低いため、最小限のサンプ

実行状況をもとに、メモリ・ハードディスク容量の見直しをご検討ください。

リングのみでの検証で十分であると想定されます。

Winter 2009

3.5 移行ゴールの設定
移行作業終了の判断をするために、ゴールを設定します。その目安としては、以下のようなものが挙げられます。
・ 既存のアプリケーションがエラー出力せずに正常に動作する
・ 既存のアプリケーションの処理時間が旧SASバージョンと同等である
・ 既存のアプリケーションの計算結果レポートのレイアウトが旧SASバー
ジョンと同等である

4 環境構築（新環境の構築）
SAS 9.2のシステム必要条件に沿って構築した環境へ、SAS 9.2をインストールします。また、本章では旧バージョンのSASとSAS 9.2を並行稼動させる場合の注意点もあわせてご紹介します。
4.1 SAS 9.2のインストール
SAS Deployment Wizardユーザーガイドを参照し、SAS 9.2のインス
トールを行ないます。なお、SAS 9.2よりインストールメディアが従来の

図2：SAS IQの出力例

CD-ROMからDVDに変更されましたので、ご注意ください。
なお、SAS 9.2検証ツールのユーザーガイドは、以下の場所にあります。
4.2 SAS 9.2の動作検証ツール
SAS 9.2では、インストールが正常に行なわれたかを検証するツールを、

SAS 9.2検証ツール ユーザーガイド

標準で用意しています。

http://www.sas.com/japan/service/documentation/installcenter・ SAS Installation Qualification Tool（以下、SAS IQと略）/instqualtool/9.2/qualification̲tools̲guide.pdf

この検証ツールを実行すると、その検証結果がPDF, HTML形式ファイ

ご不明点に関しては、弊社テクニカルサポートまでご連絡ください。

ルで出力されますので、導入に関する情報の一部として保存しておくことをお勧めいたします。

4.3 複数バージョンのSASを共存させる場合の注意点

以下、SAS IQの実行方法について説明いたします。

移行を前提として、1台のマシンに旧バージョンのSASと、SAS 9.2を● SAS IQの実行手順が必要になりますので、弊社担当営業までご連絡ください。以下に並行

SAS IQ は、以下の手順で実行します。

稼動の際の注意点をご紹介します。

・ Windowsの場合● インストールディレクトリ

並行稼動させることが可能です。なお並行稼動させる場合、一部手続き

Windowsの[スタート]メニューから、[すべてのプログラム] - [SAS] -各々のSASは、異なるディレクトリへインストールしてください。

[SAS 9.2 License Renewal & Utilities] - [SAS Installation
Qualification Tool]を選択します。

● WORKライブラリ
各々のSASにて使用するWORKライブラリのディレクトリは、異なるディ・ UNIXの場合レクトリを使用してください。WORKライブラリとして使用するディレクトリ

SAS 9.2のインストールユーザーにてログインし、以下のコマンドをのパスの設定は、環境設定ファイル中のWORKシステムオプションにて実行します。

変更可能です。

<SAS 9.2のインストールディレクトリ>/sastest/sasiq.sh
・ 環境設定ファイル名
1）出力したいディレクトリ名を入力します。この例では、C:¥tempを指定しています。

UNIX版SAS 9.2 : <!SASROOT>/sasv9.cfg
Windows版SAS 9.2 : <!SASROOT>¥nls¥ja¥sasv9.cfg

Please specify a directory where the output
files should go [.]: C:¥temp

・ WORKシステムオプションの変更例（Windows版）-WORK "D:¥SASWORK92"2）指定したディレクトリに、以下の名前のファイルが作成されていることを確認します。

・ WORKシステムオプションの変更例（UNIX版）-WORK "/tmp/SASWORK92"

C:¥temp¥validate_yyyymmdd.xxx¥sasiq.htm
C:¥temp¥validate_yyyymmdd.xxx¥sasiq.pdf

なお、起動時オプションにて、WORKライブラリを変更されている場合もありますので、設定内容に関してご注意ください。

3）手順2）で作成されたファイルを確認し、「Passed」メッセージが出力されていることを確認します。
「Failed」メッセージが出力されている● SASUSER PROFILEカタログ

場合は、インストールに問題がある可能性が高いため、該当するプロ

SASUSER PROFILEカタログは、異なるバージョンにて流用することがダクトを再インストールしてください。

できません。SAS 9.2にて旧バージョンと同様に、SASUSER.PROFILE
カタログをカスタマイズして使用する場合は、再度設定を行なってください。

Winter 2009

4.4 Windows版SAS 9.2固有の注意点● SAS/ACCESS Interface to PC File Formats

旧バージョンのWindows版SASと、Windows版SAS 9.2を並行稼動

SAS 9.2をインストールするとMicrosoft Data Access Components

させる場合の注意点をご紹介します。

（以下MDAC）がアップグレードされる場合があります。SAS 8.2にて● 複数バージョンのSASのインストール順序

インストールする前に、修正ファイル（hotfix）82PF05のインストールがSAS/Access to PC File Formatsをご利用の場合は、SAS 9.2を移行のためのテスト環境を構築する際、新たに複数バージョンのSASを必須となります。SAS 9.2のインストールの前に、SAS 8.2のHot Fix

インストールする場合があります。必ず古いバージョンのSASからインス

82PF05を適用してください。Hot Fix 82PF05は、下記のURLよりダウントールする必要があります。

ロードできます。

例えば、SAS 8.2とSAS 9.2を共存させる場合、SAS 8.2、SAS 9.2の順序でインストール作業を行ないます。

http://ftp.sas.com/techsup/download/hotfix/82̲win̲dbcs.html#82PF05

SASはSAS Shared Filesと呼ばれるコンポーネントを「Shared Files」
フォルダへ保存し、バージョン間で共有します。先に新しいバージョンの

現在適用されているHot Fixの番号は、下記のフォルダに保存されていSASをインストールすると、後からインストールした旧バージョンのコンポー

る.audファイルの名前で確認できます。

ネントが上書きされてしまい、新しいバージョンのSASが動作しなくなります。
!SASROOT¥core¥sasinst¥hotfix● ファイル拡張子の関連付け
旧バージョンのSASに拡張子の関連付けを変更する場合、インストール（!SASROOTはSAS 8.2がインストールされているフォルダを表します。）

メディア中のsetup.exeを実行して、ウィザードに従って作業を行ないます。詳細に関しては、弊社FAQサイトをご参照ください。

.audファイルのファイル名は「Hot Fix番号wn.aud」のようになっています。

拡張子の関連付けを再実行する方法
http://www.sas.com/japan/service/technical/faq/list/body/inw018.html

例

4.5 プロダクト別の注意点

下記ページにSAS 8.2とSAS 9の共存に関する情報があります。

旧バージョンのSASとSAS 9.2を並行稼動させる場合の各プロダクトのhttp://support.sas.com/rnd/migration/papers/peaceful.html

82pf05wn.aud

注意点をご紹介します。

5. 移行の環境準備および移行作業● SAS Integration Technologies

SAS 9.2へのインストールが完了した後、移行作業を開始します。移行

ロードバランスサーバー（もしくは依存するスポーナー）、オペレータポート、作業にあたり、SASシステムオプションの標準値を変更し、SASを使用

コミュニケーションポートをバージョンごとに分ける必要があります。

している場合がありますので、オプションを旧バージョンで変更している

オブジェクトスポーナーの環境設定ファイルは、バージョンごとに別にし場合、SAS 9.2の移行環境へ反映させてください。

てください。使用するポート番号については、ネットワーク管理者の方へご確認ください。

代表的なオプションとしては、以下の通りです。
・ YEARCUTOFF /*Y2K 対応用*/● SAS/CONNECT、SAS/SHARE・ MEMSIZE/*SAS使用最大メモリ容量*/

SAS/CONNECTのスポーナー、SAS/SHAREサーバーのポート番号は、

・ BUFNO/*ファイルI/Oの最大バッファ数*/

バージョンごとに分ける必要があります。使用するポート番号については、

・ BUFSIZE/*ファイルI/Oの最大バッファサイズ */ネットワーク管理者へご相談ください。Windows版にてスポーナーをサー・ WORK/*SAS一時ファイルの作成先*/

ビス起動する場合は、起動ユーザーを登録する必要があるため、各セキュ
リティポリシーに沿ってユーザーを登録してください。

また、アプリケーションで使用する入出力ファイルの割り当てを自動化する
ため、自動実行ファイル（AUTOEXEC）で設定している場合があります。

● SAS/IntrNet
旧バージョンのSAS/IntrNetとSAS/IntrNet 9.2は1台のマシンに共存

5.1 SASシステムオプション

させて使用させることができますが、以下の注意点があります。

SASシステムオプションの設定は、環境設定ファイルで行ないます。また、・ アプリケーションおよび他のコンポーネントはポート番号を分けてくだ

この環境設定ファイルは、SAS/CONNECTスクリプトファイルや、SAS

さい。
・ SAS 9.2のアプリケーションブローカとロードマネージャで、旧バージョンのSASとSAS 9.2を制御することを推奨します。

起動コマンドでもSASシステムオプションを動的に指定することもできます。SASインストール時に作成される環境設定ファイルはもちろんのこと、SAS起動コマンド中に、「-CONFIG ファイル名」の指定がされている場合、該当のファイル中に設定されているSASシステムオプション

その他、1つのbroker.cfgファイルに旧バージョンのSASとSAS 9.2サーをご確認ください。

ビスの定義を含めることもできます。なお、1台のマシンに旧バージョンのSASとSAS 9.2のCGIツールをインストールすることが可能です。

● SASシステムオプションの確認

ただし、それらは必ず別のディレクトリにインストールしてください。

旧バージョンにて設定されているSASシステムオプションの内容は、OPTIONSプロシジャで確認できます。
PROC OPTIONS; RUN;

Winter 2009

5.2 自動実行ファイル（AUTOEXEC）
自動実行ファイルが使用されているかを判断するには、環境設定ファイル
中に 「-AUTOEXEC ファイル名」の設定がされているか確認します。
この指定がされている場合、自動実行ファイルを使用しています。また、
この自動実行機能の設定方法は、環境設定ファイルと同様に、SAS
起動時にも有効ですので、SASの起動コマンドやSAS/CONNECTスク
リプトファイルでも「-AUTOEXEC ファイル名」を使用しているか、合わSAS
Academic
News

せてご確認ください。
5.3 SASライブラリ（データセット、ビュー、カタログ）の移行
旧バージョンのSASライブラリを移行するには、基本的にMIGRATE

はじめに

プロシジャで全て移 行 できます。ただし、特 定 の 条 件によっては、大好評のユーザー事例同志社大学宿久研究室も三回目の掲載となり、

CPORT/CIMPORTプロシジャを使用する場合があります。詳細は、今回で最後の掲載となりました。一年間ありがとうございました。四方山

次号Technical Newsの特集でご説明させていただきます。

話と社会学系におけるＳＡＳは引き続き専門的な内容でお届けします。

5.4 その他の注意点■事例紹介● ストアドマクロの再コンパイル■コラム「SAS四方山話」

ストアドマクロを格納しているカタログは、移行することができません。

■カスタマーリレーション

SAS 9.2にてストアドマクロを使用する場合は、ソースコードから再コンパイルを行なってください。

■事例紹介● SASコードに関する注意点
SAS 9.2で、既存SASプログラムの移行テストを実施する前の事前確認といたしまして、既存のSASバージョンでプログラムの実行時に

宿久 洋

ワーニングメッセージが出 力されている場 合、このメッセージが出 力

同志社大学文化情報部/文化情報研究科

されないよう、適宜SASプログラムの修正を行なってください。

教授 博士（工学）5.5 新環境への切り替え
SAS 9.2のテスト環境で、既存のSASアプリケーションを実行し検証した後、本番環境へ 切り替えるための最終稼動確認を行ないます。
確認事項は、以下の通りです。
・ SASアプリケーションが本番環境で正常に稼動する・ SASアプリケーションの実行結果が移行ゴールに合致している
特に、移行テスト環境と本番環境にシステム上などの差異がある場合
や、移行テスト環境や本番環境で使用したデータ内容や容量に大きな差異がある場合は、注意が必要です。
その他、SASアプリケーションの運用に関連したドキュメントや、設計資料などを作成されている場合、必要に応じて適宜修正および更新などをご検討ください。

SAS： 学生様は何名ぐらいいらっしゃいますか

6. おわりに宿久： ゼミ生が10名、学部の学生は250名（来年から280名になり

本稿では、SAS 9.2（Foundation）への移行の概要、方法論、注意点ます ）、新カリキュラムが走って、データ分 析 科目で非 常に充 実についてご紹介しました。お客様がSAS 9.2への移行を検討する際させています 。そのデータ分析のところと数理的なところの科目となどの参考にしていただければ幸いです。

をあわ せ て 運 営される予 定 です 。その中にソフトウェア、統 計
ソフトウェアを含めた演習が組み込まれていくんですが。
SAS： 統計ソフトというのはSASだけではないのですね？
宿久： SASだけでなくどのソフトも導入し使用します。1年の場合はだいたいエクセルをベースに行なうし、演習系のものでSPSSを使用します。一番高度な分析的なものにSASを使用します。ですから、一年生ぐらいですとSASのEnterprise GuideとSPSSがセットで運用されますが、基本的には人文系のひとたちのシェア・経済系のシェアは主にSPSSを使用しています。

Winter 2009

SAS： 卒業論文等に最も多く使われるソフトは何ですか？

にはSASの授業を開設頂く先生方への支援を強化する方針になっています。

宿久： それは指導の先生方に依存します 。先生方が育ってきた
バックグラウンドで左右されるようです 。例えばSPSS、SAS、Rなど

宿久： ええ、西海岸の講習を受けたときもそれは感じました。教材の多種多様です。それは先生あるいはその指導員の学生さんの話し無償配布やテキスト教材の支援など、
こんなにサービスしてくれて合いで決めます。わたしのところは、SASまたはRでしょうかね。Rがいいのか（笑）って思いましたよ。だからいろいろな国から来たいとその用途で得意とするところはRで使います。そうですね、最近はいう人が多いんですね。
ヨーロッパやアジア圏からも来ていました。

SASとRを使うのはわれわれのトレンドですよ。
SAS： 本社の指示のもと、日本語版ではお出ししていないのですがSAS： 最近Rはよく耳にしますよね。

英語版ではお渡ししています。われわれとしてもSASの講義が増えていただければありがたいと思っています。将来的にはその講義を受け

宿久：SASがまだ入っていないところはRを使っているんじゃないでしょた学生さんが社会に出てSASを使っていただければ何よりです。

うか。細かいところもRでできてしまいますよ。いろいろですね。
宿久： SASは大学で使える価格になってきましたね。でもわたしがSAS： 宿久ゼミでもEnterprise Guideはお使いになっていますか。

思うにまだまだ学生にSASは贅沢な感じがします。

宿久： 僕のところは使うというよりは、学生さんに「こんなのもあります

SAS： Academic Programは他のソフトの会社の価格体系と比よ」と案内するぐらいです。コースや演習の中で紹介をして、あとは較しても安価に設定しています。そのため徐々にですが普及して学生がそれを使用して分析をするかしないかでしょうか。基本はSASきました。ただ、SASを使ってもらわないといくら安くても導入した言語を書いて行なっているようです。Enterprise Guideを前面に意味がないので解約する大学もあります。

出して「これでなにかやれ」っていうことではないですね。いろいろな考え方がありますね、Enterprise Guideというアプリケーションができた

宿久： いろいろな考えがありますが、大学によってまちまちなんで

おかげで他のソフトを使わずにSASを通すってこともできるようになりま

しょうね。おおらかな大学もありますし、今ですと予算削減が大きな課した。今までは通すことすらできなかったんですよ。そういう意味では題である大 学が多いでしょうからね 。ですが、S A SのA c a d e m i c

SASでの選択肢が増えたってことでしょうね。あと、SASの本も何冊か

Programを導入する大学が増えているということは競争に勝ってい出てきましたね。ゼミ室にも置いてありますよ。学生がそれを読んで参るってことなんじゃないでしょうか。

考にしているようです。やっぱり本ですよ。Rですけど、課題に特化した本がたくさん出ているんですよ。ここにも何冊も置いています。RのSAS： そうだとありがたいのですが。こちらの大学様の1年生、2年生

本がだいぶ増えてきたので、特にバイオインフォマティクのように特化しでSPSSを使うという話がありましたが、SASの狙いは、
そのあたりかたものがあると、
その路線の方々はそれだけで手に取りますよね。そのらSASを何とか使用してもらえないか、というのが課題です。

ほかデータマイニング関係の本もありますよ。SASは英語の本はたくさんあるんですが、やはり日本語化されていないのが痛いところです。ただ、宿久：（その課題は）あるでしょうね。ですが、SASをそのくらいの学生

SASのテキストはとても良いです。講習会のテキスト（SAS社で行なっに使用させるといった場合、何かあと一押しが必要でしょうね。それているSASトレーニング）は非常に良くできています。あれを大学には民間企業への普及もそうでしょうし、人文系の先生方に、必ずデー

小売していただけると助かりますがね。講習会のテキストがみなさんのタ解析をするという認知が、なぜかSPSSでするといった流れになっ

手に届くようになれば本は必要がないと思います。

ているようです。その人たちが学んだときのソフトがSPSSなんですね、
それがいま学生を教える立場になって、SPSSを教えているという流

SAS： 米国のテキストは頻繁に使っていますか。

れですね。ですから、
アカデミックは怖いですね。あるとき気づいたときにはパッと情勢が変わるといったところが恐ろしいです。

宿久： Trainer's Kitですよね、
あのお陰でゼミや授業は助かっています 。英語ですが、それでもとても便利です 。SAS社としては、

SAS： SAS Japanとしては、本社からの最新情報を大学の先生方

T r a i n e r ' s K i tは売り物なので取り扱いが難しいのでしょうね 。

へ提供したいと考えています。あとは、今回もEnterprise GuideのAcademic Programを導入した大学への特権でもありますよね。

マニュアル本が出ましたが、こういった本をシリーズ化して何冊か発

SAS： はい、Academic Programを契約いただいた先生方にしか大学間の産学連携に貢献したいと思っています。

行していく予定です。それと、民間企業でSASを使っている団体とお出ししていません。
宿久： そうですね、せっかく大学でSASを学んだがその用途が明確
宿久： 逆に、SAS講義を普及させるためにTrainer's Kitを盛り込んでないと学生のやる気にも影響があると思います。みんなが使えるとだ個別のライセンス体系も考えていただけると、SASが導入できない

いった理想の話はしないけれども多少なりとも就職していく学生へ

ほかの大学にも普及するんじゃないでしょうかね。Trainer's Kitでのメリット感があるとよいと思います。間にSAS社が入っていただける

すが、あれを先生方が自分で作るとなると敷居が高いんですよね。

と助かりますね。日本はあまり見受けられませんが海外ではそのあた

先生方も多忙ですからあの内容のものを作るとなるとかなり時間がりは力を入れているようですよ。問題を持ち込まれてある程度アド掛かります。あれはコースを受けてみてもわかるのですが、とても考えバイスするとか、そのほうがうまくいくことがありますね。あるいは学生て作られたものだと思いますよ。

さんを送り出したりなど、というのが形になっていくとよりよいのかと思います。そうすると他の会社にはないメリットがありますね。

SAS： そうですね、サンプルデータも揃っているし、演習の体系もよいバランスがあると思います。本社の狙いとしては、アカデミック

SAS：そうですね、バリューみたいなものをご提示できるかと思います。

Winter 2009

宿久：SASの強みは大手企業に導入しているということだと思います。

果たして先生方がそのような環境についていけるか、というのが大き学生さんもそのようなところに目をつけていると思います。そこをうまくな課題になるんではないでしょうか。数学の先生などは、理論は教え

SAS社にやっていただけるとよいと思います。

られるが、データを触ったことがない、
なんて話はよくあります。

SAS： 実際、企業でどのように使われているか、などご興味はございますか？

SAS： 学生の就職先についてお聞きします。たとえばどのようなところに就職を希望されている学生が多いのでしょうか。

宿久： もちろんあります。前回も同じ京都の大手通販会社に大学に来ていただいて社内におけるSASの必要性をお話しいただきました。

宿久： 製薬会社が何名か、金融が何名か、でしょうか。製薬系のキャリアセミナーみたいな形で続けてしまえば、あまりSASを強調する

統計解析部などへ希望しています。金融はなかなか難しいようです。

ことなく学生にアピールできると思います。
うちの学科は、SASを前面に中には頑張って就職するものもいます。あとはシンクタンク系でしょうか。

出してもよいんですけどね。SASに力を入れることは、
データサイエンス

教える側として、企業での要求が大きい、かつ能力を要求される業を専攻している学生のモチベーション維持に非常に役に立ちます。

界はあまりお勧めしていませんが、しかしやりがいはあるというところ
であれば学生が希望すれば応援します。その他、保険業界でしょうか。

SAS： お客様にお話を聞くとSASのエンジニアがいない、統計が損保・生保ですね。これはアクチュアリを取っていきたいというところわかる人がいない、SASを使える人がいない、といった課題があがです。

ります。そういう企業側が抱えている問題もかなりあります。そういった課題が大学の先生方と一緒に連携していただいて、就職斡旋とSAS： 保険業界も、
ソルベンシーIIという規制が入る予定です。それいうことまでにはなりませんが、企業、大学の連携を助けたいと思いの規制が入るとリスク管理などの分析が必要になります。

ます。学生さんもSASを学ぶ意識が変わりますよね。
宿久： もともとアクチュアリをおかなくてはいけないことになっている
宿久：われわれはSASを含めたデータ分析が特殊な行為ではなくてので。そういうところをターゲットにしています。

非常に日常的に必要なことだと思っています 。というようなことを義務付けさせたいと考えています。文系の学生にも、今後は企業にSAS：いわゆる金融機関ですと、バーゼルという規制がありますね。

出て役に立つということを言っていかないといけないと思います。

それでオペレーショナルリスク管理と信用リスク管理、市場リスク管

うちの学部は文系の統計学部といった感じのカリキュラムで作られ理、この３つの管理をしなくてはならないのですが、市場リスク以外ています。実際データ解析をするのは理系出身の方々ではないんの２つというのは、完全に統計です。お陰様でSASがそこでデファですよ。むしろ文系のほうが社会に出てデータを扱う職種に付くことクトになっているため、メガバンク・地銀などSASを導入いただいてが多いわけなんです。データ分析力が今後、何系出身に関わらず必いる経緯があります。

要になる時代ではないかと思います。SASに要望するのは、企業のたとえばマーケティング部でどのように使われているかを大学側にフィー

宿久：そのような話は、学生さんに伝えてもらうとSASを学ぶモチベー

ドバックがほしいですね。

ションに繋がりますね。Technical Newsも学生で購読しているのは少ないようです。

SAS： そうですね、企業側では情報活用がキーワードになってきています。データサイエンスというところに注力をあてて、せっかく集まっ

SAS： 今ですと弊社ホームページの教育機関のサイトで最新情報た情報を生かそうという動きにどんどんなってきています。将来のを公開しています。わたくしどもも、本社には有用な情報があるにも予測、そこに重きをおく企業が増えてきています。

かかわらず、日本サイドでそれを伝え切れておらず、今後教育機関のホームページで情報公開に努めていく予定です。もしくは、地域

宿久： 意思決定の道具として、勘や経験ももちろん大事ですけれどに限定したユーザー会やコミュニティーの設立も考えています。

も、このような定量的なものを分析する時代がやっときたのか、と思いますね。いわゆる教育の分野での例示されているのは、
たとえばヒス

宿久： 東京で毎年夏に行われているユーザー総会は敷居が高いんでトグラムの読み方がわからない、棒グラフの読み方がわからない、とすよね。ですが、あれはあれで他のメーカーさんの目標になっていまして、いうのを聞きます。いわゆる計算力でなく情報の処理解釈が足りない、

他ベンダーがSASにまねてユーザー主催の会を開いていますよ。

ということで指導要領が今度変わるのでばっさり教育のシステムを統計とかデータ処理に力を入れる時代になります。中学校で、いわゆるSAS： そうですか。わたしたちとしては東京に限らず、関西エリアを「資料の整理」というのが入りますし、「資料の活用」という項目が限定したユーザー会も企画し交流の場を作りたいと思っています。

あるんです。それが「資料の分析」として入ってくる。もしかしたら必修の中に入ってくるかもしれない。

宿久： そうですね、必ずしも成果報告というものでなくても、企業と教SAS： 中学・高校で情報処理の解釈の基礎ができれば、SASは文教の先生方が興味をもたれる方が多いと思います。

育の場のものが交流を持つ場があるとよいですね。こういったのは、学部生にも問題なく吸収できるソフトになりえますね。
SAS： 学生が論文発表をする場も作る予定です。
宿久： 使う側からすると、ひとつのソフトウェアで何をするっていう感じではないんですよ。SASで処理をするところ、エクセルで処理を

宿久：ぜひ開催していただきたいですね。

するところ、
または他のソフトで処理をするのが早い場合はそれを使います 。この部分はこれ、この部分はこれ、といった感じです 。
こだわりなくやっています。どちらにしても、情報の処理を中学・高校
でする場合、教える先生方が変わっていかないといけないと思います。

SAS：ありがとうございました。

Winter 2009

■コラム「SAS四方山話」

配布数に占める割合をレポートします。このとき、配布数に占める有効回答数のことを「回収率」と呼び、この割合が高いほど優秀な調査であるとされる傾向があるようです。しかしながら謝礼の有無

第4回 「アンケート四方山話（2） 実施〜集計まで」や調査方法、時期などによって異なりますので、一概に優秀な調査であるとは言えないでしょう。優秀な調査とは、可能な限り短い

大橋

渉

日数と少ない 予 算で、研 究 者 の問 題 意 識を解 決できた調 査に

東京医科歯科大学

医歯学総合研究科大学院

生命情報学

情報医科学センター

臨床・生物統計グループ

特任助教

他ならないと思うのですが…？
*)現在、筆者は過去における社会調査を検討することで「督促と回答内容」の関係について学術的に研究しております。結果はまた報告させていただければ幸いです。

1)前回を振り返って
前回までにアンケート（調査票）の作成方法についてお話させ

3)入れ物と中身ていただきました。読者の方からも、「言われてみれば訳の分からさて、ようやく回答結果も集まりました。Web調査などで自動的にないアンケートに回答した覚えがある。自分たちもそこまで気を付け集計されているような場合もあると思われますが、ここでは一般的なて、訳の分からないアンケートを作成しないようにしたい」などのご郵送・回収などの紙による調査票を、どのように集計するかについて

意 見を頂けたのは嬉しい限りです 。前 回も書きましたが、やはり説明させていただきたいと思います。そもそも集計のためには、収集

SASユーザーの皆様は熱心な方が多いのだと改めて感じる次第したデータを集計用にまとめる必要がありますが、多分多くの皆様がです。今回は「アンケートの実施から集計までの流れ」についてお話

そのためのツールとしてMicrosoft Excelを思い浮かべたのではないさせていただきます。結果は集まったものの、世の中には処理方法でしょうか？ 確かに筆者のお勧めもExcelなのですが、ご注意いただが 分からないまま眠っているデータもまた多 いようです 。では、きたいのは、Excelは「入れ物と中身」のところまでの利用ということ

データの賞味期限*）が切れてしまう前に取り掛かりましょう。
*）例えば政府系の調査などは、調査時点から2〜3年も経過した後に結果が出てくることが多いです。大規模調査ならば止むを得ないことが多いですが、可能であれば早めに処理してしまうことをお勧めします。集計・解析が終了したときには、「もう結果が不要になっていた」「時代が変わってしまっていた（？）」などということの無いように…。

です。基本的にExcelは「簡易表計算ソフト」であり、あくまで統計ソフトウェアではありませんので、集計はともかく解析結果には若干の不安もあります。
（多くのSASユーザーの方がそのようにされていると思われますが）ここではSASによる集計・解析用のデータをExcel
によって作成する方法について説明させていただきます 。まずは
下記のような調査項目を想定してみましょう。

2)調査票配布後の仕事は？
アンケートの方法によっても異なりますが、配布から集計までに

Q1：年齢 （） Q2：性別

男・女

は結構やるべきことがあります 。例えば郵送調査の場合ですが、

Q3：過去に統計ソフトウェアの利用経験がある？ はい・いいえ

配布後数日間で何らかの反応があります。多くの調査では「問いQ4：居住地域

合わ せ 先」の連 絡 電 話 番 号が記 載されておりますので、
まずは

Q5：この統計ソフトウェアの満足度は？

① 回 答 者からの問い合わ せに奔 走することになります 。続いて
②回答拒否や居所不明により戻ってきた調査票のチェックがあり

1.非常に高い

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

2.高い方

3.低い方

4.非常に低い（該当するもの全て）
Q6：統計ソフトウェアを購入するときに何を重視するか？

ます。拒否及び不明の場合は、次回以降の調査において対象から1.価格除外することになりますし（郵送料も助かります）、特に拒否の場合

5.その他（

2機能の多さ 3.使いやすさ 4.ユーザー数）には③その原因を調べる必要があります（うっかり対象者に電話

Q7：統計ソフトウェア全般に対するご意見などをすると「感情的に」返答されることもありますので要注意です）。

（）

開封もされずに「面倒くさい」という程度の理由であれば、回答者
個人の問題として処理できる程度ですが、開封後に「面倒くさい」

これら7項目の回答を入れる枠組みが「入れ物」であり、入れらという理 由がやたらと多い 場 合 、そのときには④ 調 査 票 の構 造

れるデータが「中身」になります。まずは入れ物のデザインですが、自体の問題を疑いましょう（前号を参照）。可能であれば、⑤日別

S A Sは 基 本 的に「タテ方 向 へ の演 算 」を行なうものです ので、に有効回答数、無効数とその内訳を集計して、余りにも回収数が調査項目をヨコ方向に、回答者はタテ方向に入力していきましょう。

少なければ、⑥ 督 促などを検 討することをお勧めします 。督 促のまずExcelの1行目には、設問項目（変数と呼びます）を入力する

方法は、昔は電話やハガキによる督促が主体でしたが、近年ではのですが、このとき、SASへの読み込みを考慮するならば「日本語電子メールも用いられます 。督促による回収数へ の貢献はあるこは用いずに」行ないましょう。日本語で入力すると、読み込み時にとはありますが、せいぜい数％程度と考えておきましょう。また筆者

変数名が左から勝手に「̲COL1,…̲COL」とされてしまいますので、の経験では、督促後の回答には「どちらでもない」がやたら多く、注意が必要です。

記述部分は無回答率が高いなどの傾向が強かったことを記憶し次に、設問の種類について考えてみましょう。Q1は回答通りにておりますので、場合によっては回答の精度自体が低下すること

直接年齢を記載していけば良いのですが、このとき「半角数字」

さえもあります * ) 。という訳で、督 促の実 施は督 促 方 法や予 算、で入力されていることをご確認ください。全角数字が半角に混在

工数などと相談して検討することをお勧めします。

しているようなデータの事 例も結 構 見 受けられますが、その場 合以上、調査の締め切りまで上記の①〜⑥を繰り返すわけですが、プログラムにおいては全く別物と判断されてしまいますので要注意

そのうち④の調査票の構造についての検討結果は次回以降のです 。Q2〜Q5のうちQ2、Q3ですが、
ここでは日本語を直接入力

調査に役立てるようにしましょう。調査の最中に項目を変更してしするよりも「男性=1、女性=2」「はい=1、いいえ=0」のように入力

まうと、それ 以前の結果との整合性が取れなくなってしまうといっ規則を決定して、入力のための工数を簡略化するようにしましょう。

た問題が発生しますので、
もしも変更するのであればその部分はたとえ入力は数値でも、SASフォーマットを用いての日本語表示は覚悟して行ないましょう。締め切りがやってきたら、最終的な配布数、可能ですし、入力ミスを防ぐためにも可能な限り簡略化（手抜き？）

有効回答数、回答拒否数、不明数などを集計し、各項目についてすることを考えましょう。

Winter 2009

Q6は他の項目と異なり「複数回答」ですので、当然入れ 物の■カスタマーリレーション設計にも注意が必要となります。仮にQ6というセルを一つだけ作成した挙句に、「12345（教本の多さ）」などと入力した場合には、非常に集計が苦しくなります…と言うよりはむしろ、このままでは集社会学データ分析におけるSASの使用（その3）計が不可能です。この場合には、Q6の1〜5の各選択肢について単独で入れ 物を作成し、回答のあった部分について印（フラグと労働政策研究・研修機構

いう言い方が一般的ですが）を立てるようにしましょう。例えば筆者

平田周一の場合ですが、「選択があった場合には1を、無い場合には0を入力する」というような方式を採用しており、学生に対する指導時も「お勧めのやり方」として紹介させていただいております。Q 6「その他 」
およびQ7の文字情報に関しましては、SASへの読み込み時に途

1．
マルチレベル分析
今回は、近年、急速に注目を集めているマルチレベル分析（Multi
Level Analysis）
を取り上げる。
マルチレベル分析については、ほかにもさまざまな呼び名がある。

切れないように注意が必要です（詳細はまた次号にて）。
以上、SASによる集計・解析を意識した入れ物と中身について

なかでも有名なのは、「階層線形モデル（Hierarchical Linear Model）」

説明させていただきました。特に、Q6のような複数回答の情報にというもの で、アメリカの 教 育 に つ い て 研 究しているB r y kとついては、筆者の経験ではかなりの頻度で同一セルに詰め込まれRaudenbushによる Hierarchical Linear Models: Applicationsている事例を見せ つけられて（？）おりますので、是非とも皆様はand Data Analysis Methods（2002, Sage Publication） によって有ご注意下さいませ。特に、詰め込まれた状態で統計担当者に「何名になった。
この2人は、HLMというマルチレベル分析専用のソフトウェ

とかしてくれ！」と持ち込むようなことはやめましょう（笑）
！

アを開発している。統計学研究者の間では、
しばしば、
混合モデル
（Mixed

次回こそは前回の予告通り、解析方法を説明したい次第です。

Model: 例えば、Little et al. 1996 SAS system for Mixed Models
SAS Publishing）という言葉が使われている。個人的に気に入ってここは注意が必要です！

いるもので、
コンテクスチュアル分析（Contextual Analysis G. R.
Iverson 1991 Sage Publication）という言い方もある。
どのような呼び方をされるにせよ、マルチレベル分析とは、分析対

NUM

Q1

Q2

Q3

Q4

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

0001

28

1

0

3

2

1

1

0

1

0

0002

35

0

1

2

3

0

0

0

0

1

Q7

象の単位を複数仮定した重回帰分析、あるいは重回帰分析に類似したものである。

教本の 特に多さ なし

分析対象の単位を複数仮定するとはどういうことなのか。簡単にいえば、分析対象の標本があるグループに属する場合、個々の標本全て数値は半角で入れてくださいね！

を一つのレベル、個々の標本が属するグループを一段階上のグループと考えるということだ。上川一秋氏による簡潔な解説（上川一秋
2006「異なる分析レベルの因果を同時に考える：階層線形モデル（HLM）」与謝野有紀他編『社会の見方、測り方』勁草書房所収）によれば、マルチレベル分析は、古典的な重回帰分析と基本的には変わらない。ただし、従来の回帰分析は標本間の独立を仮定していたが、「社会学で用いられるデータにおいて、この仮定が成り立たな
いことが多くある（前掲書、p.122）。」例えば、学校ごとに生徒を選ん
で、個々の生徒を対象に調査を行なう場合、同じ学校に通う生徒は何らかの特徴を共有していると考えられるので、他の学校の生徒と比べて、よく似た傾向が現れる。このような場合に用いられるのがマルチレベル分析である。マルチレベル分析では、個々の標本における従属変数（例えば生徒の成績）と独立変数（例えば親の社会的地位）の間の回帰係数および切片の値が、より上のレベル（例えば学校）によって異なると仮定し、上のレベルの変数によって回帰係数や切片の値がどのように異なるかを分析することができる。このようにして、学校ごとの教育方針の違いによる影響を考慮することができる。また、国際比較調査などでは、国ごとの制度や文化の違いを考慮した分析を行なうことができる。制度や文化、すなわち社会的コンテキストが異なることを考慮して分析を行なうことができることが、
コンテクスチュアル分析と呼ばれる所以だ。
マルチレベル分析では、
どのようなモデルを立てるのかを簡単に説明しよう。通常の回帰分析モデルは、次のようになる。

Yi =+ X+eiαは定数項、βは独立変数Xの効果、eは誤差項を示す。誤
ここで、差項と従属変数に添字が付いているのは、i番目の対象の誤差項によって従属変数の値が変化するということを強調するためだ。一方、と独立変数の効果（β）の値はどの対象者に対しても共定数項（α）
通で変化しない。

Winter 2009

マルチレベル分析では、定数項や独立変数の効果が、社会的コン

行なうわけだが、多くの場合、特に全国調査などでは、層化二段抽出

テキストの違いによって変化すると考え、次のようなモデルを立てる。

法という方法を用いて標本の抽出を行なう。最初に対象者の住む

Yij =

0j +

1j X 1 + e ij

0j =00 + u 0j

1j =10 + u 1j

地域を選び、選ばれた地域から無作為に対象者個人を抽出するという方法だ。このようにして選ばれた標本は、居住する地域ごとにある特性を持っていることが考えられる。以前は、このような可能性に目をつぶって分析が行なわれてきた。
しかし、マルチレベル分析によって、このような欠点を逆手にとって、プラスの価値を持つ分析が行なえる

また、定数項をβ0j、独立変数X1の効果をβ1jに表記を変えている。

ようになった。地域ごとのマクロデータを活用して、既婚女性の就業

添え字にjという文字が一つ増えているが、これは、一つ上の階層がj

行動を、地域の保育所などの施設の充実度を考慮しながら分析でき個のグループに分かれていることを示している。2番目と3番目の式は、るようになった。マルチレベル分析によって、マクロデータとマイクロそれぞれ、通常の回帰モデルの定数項と独立変数の効果が、それぞデータを結びつけることができるといわれているのは、
こうしたことがを中心に分散があることを示している。
れの平均（β00,β10）可能であることに由来する。

さらに分析を進めて、独立変数の効果が一つ上の階層におけるグループが持つ変数によって異なるとするモデルを想定する。

Yij =

0j +

1j X 1 + e ij

0j =00 + u 0j

1j =

10 +

2．
SASを用いてマルチレベル分析を行なう利点
SASを用いてマルチレベル分析を行なう利点はいくつか考えられる。
まず、マルチレベル分析は、従来の分析方法に比べて斬新なものであり、前にふれたHLM以外にも、マルチレベル分析専用のソフトがγ10Xj + u1j

開発されているが、多くの場合、SASで用意されているプロシジャー
によって、マルチレベル分析を行なうことができる。前に紹介した３番目の変数X 1の効果β1jを説明する式で、新たにX jという変数

γ

を設定し、
それは 10という効果をβ1jに与える。最も低い階層を示す
最初の式に、
さらに独立変数を加えることもできる。

Yij =

0j +

0j =

00 + u 0j1j =1j X 1 +2j X 2 + e ij

γ10Xj + u1j

10 +

γ20

2j =

上川一秋氏のホームページ（http://www.estat.us/index.html）
では専用ソフトを使わずともSASでマルチレベル分析に十分対応できるという例と実際のSASの使用方法が紹介されている（アメリカ、
Optimal Solution Group上級研究員上川一秋氏には、ホームページからの引用の許可をいただいた。記して感謝したい）。
マルチレベル分析を行なうために、専用のソフトが作られている。
前述したHLM©がよく用いられているようだが、その他にもいくつかの専用ソフトがある。
しかし、これらの専用ソフトに引けを取らないプロ
シジャーがSASには用意されている。通常のマルチレベル分析を行なうには、PROC MIXEDを用いればよい。私が、幾つかのマルチレ

今度の例では、X 2という新しい独立変数が最初の式に加えられてベル分析の教科書に載っている例を、
このプロシジャーを使って再いるが、その効果は最後の式に示されているように、上の階層におけ現を試みたことがあるが、掲載されている例とほぼ同じ結果を得るこるグループごとでの違いはなく、全ての対象者に対して同じ値を持っとができた（マルチレベル分析のアルゴリズムは複雑なので、ソフトにていると仮定されている。新しい独立変数X 2は、通常の回帰分析によって、結果の数字に若干の違いが生じることがある）。前述の上川おける独立変数と同じ扱いになる。通常の回帰分析では、定数項と氏のホームページには、
マルチレベル分析を行なうためのプロシジャー

独立変数の効果は、全ての対象者に対して同じ値を持つ。これをとして、P R O C M I X E D 以 外に、P R O C G L I M M I X 、P R O C

特別に固定効果（fixed-effect）と呼ぶ。一方、マルチレベル分析に

NLMIXEDを活用する例が紹介されている。前者は、一般化線形おける定数項と独立変数の効果の値は、それぞれ誤差項（u 0j、u 1j ）混合モデル（Generalized Linear Mixed Model）のために新たにを持つことが許される。
このような場合、これらをランダム効果（random-

設けられたプロシジャー、後者は非線形混合モデル（Non-Linear

effect）と呼ぶ。さらに、最後の例のように、マルチレベル分析ではMixed Model）のためのプロシジャーで、従属変数がロジット、多項

一つのモデルの中に固定効果とランダム効果の両方を設定すること

ロジットなどの時にはこれを用いる。

ができる。
これが混合モデルとも言われる所以だ。

また、マルチレベル分析では、前回紹介したPerson-periodデータ

一つ上の階層におけるグループとして、さまざまなものが考えられる。

を用いなければならないことがあるのだが、前回紹介したように、SAS

上川（2006）では、親の教育レベルと子供の成績の関係をアメリカとを使えばPerson-periodデータを簡単に作成できる。Person-period

韓国で比較する例が示されている。この場合、国の違いが一つ上のデータを用いたマルチレベル分析は、イヴェントヒストリー分析のように、階層におけるグループとなる。国際比較研究でなくとも、地域の違い

時系列で変化する事象の分析に用いられる。以前、引用したシンガーがどのような影響を及ぼすかを分析することもできる。ルーク（Douglasとウィレット（Judith D. Singer & John B. Willet 2003 Applied

A. Luke 2004 Multilevel Modeling Sage Publishing）
は、議会でたLongitudinal Data Analysis Oxford）では、時系列で変化する事

ばこ産業に有利な投票をするという行動が、議員の出身州によって象の分析方法を示したものだが、前半はマルチレベル分析、後半は大きく異なることを示している。前述の、ブライクとローデンブッシュ（Bryk

イヴェントヒストリー分析が紹介されている。

& Raudenbush 2002）は、親の社会的地位と子供の成績の関係の時系列で変化する事象の分析でマルチレベル分析を用いる場合、分析に、学校の種類（公立であるか私立であるか、あるいはカトリック

一つ上の階層とされるのは時系列上の時点だ。シンガーとウィレット

系の学校であるかなど）
による違いを考慮したモデルをたてている。

（Singer & Willet 2003）では11歳から15歳までの間での逸脱行動

社会学、
あるいは一般的な社会科学で、マルチレベル分析が有効（試験のカンニング、薬物の服用、アルコールの飲酒、盗み等）の発である理由として、調査データの収集方式における根本的な問題があ

生についての分析を例としている。前回紹介した、イヴェントヒストリー

るのではないか。

分析との違いは、
イヴェントヒストリー分析がある事象が発生したか

社会科学では、多くの場合、医療研究や理科系の研究のような厳密な実験データをとることができない。実験の代わりに、社会調査を否かを従属変数としているのに対して、
この例では、時点ごとに行なわれた逸脱行動の数が従属変数となっている点だ。

Winter 2009

このような分析でマルチレベル分析を用いなければならない理由
は、年齢が上がると逸脱行動が増えたり、減ったりしている。また、最初は低く、中間時点で高くなり、その後また低くなるというように。対象者によって年齢と逸脱行動の関係が多様すぎる点にある。また、
年齢時点ごとに独立変数（親との同別居、友人関係など）が調べられているが、
これらの変数と逸脱行動の関係も年齢によって異なって● CSVファイルに出力する際、ラベルを出力したいいる。そこで、時 点を一 つ上の階 層とし、時 点ごとに共 通の独 立● 外部ファイルの任意の行からデータを読み込む方法

変数（親や友人についての変数）と従属変数の関係を吟味する、● 改行コードについてと同時に、時点と逸脱行動の関係を吟味することができるマルチ● Enterprise Guideから外部ファイルを操作する方法

レベル分析が必要となる。

● YYYYMMDDhhmmss/YYYMMDDhhmmssfff形式の日時データを読み込む方法

前にも紹介したが、同書の著者は、UCLA内Webサイトで、同書の中● SAS 6にて圧縮したデータセットを圧縮した状態で移行する方法

で示されている例をさまざまなソフトウェアを用いて再現する例を紹介し● Accessデータベースのテーブルに主キーを設定したいている（http://www.ats.ucla.edu/stat/sas/examples/alda/default.htm）。

● SAS Enterprise Miner 5でバギングやブースティングを実現する方法

これをみると、
マルチレベル分析については、HLMなどのマルチレベル● モデルパッケージのリポジトリからの削除方法

分析専用ソフトと同等の機能をSASが持っていることがよくわかるだろう。

● ROC曲線の比較について● 行列とベクトル間の演算

3．
おわりに三回にわたって、社会学を専攻する筆者がどのようにSASを使っ● データセットの一部をランダムに表示する方法● 効果の名称が長い場合、すべて表示されないているか、また、使おうとしているかについて述べてきた。SASの持っている利点として、多機能であること、柔軟なプログラミング能力を備EXPORTプロシジャを使用して、
データセットをCSVファイ

えていることなどを述べたかったのだが、十分、筆者の意図は伝わっルに出力しています。1行目に変数名ではなく、ラベルを出ただろうか。

力することはできますか。

SASは多機能であり、前回紹介したイヴェントヒストリー分析、今回
EXPORTプロシジャでは、ラベルを出力することはできません。しかしながら、紹介したマルチレベル分析を行なうに当たっても十分な機能をもっている。特に、今回紹介したマルチレベル分析に関するプロシジャー

PRINTプロシジャでLABELオプションを使用すると、ラベル表示が行なわれの整備は、筆者の知る限り、総合的なソフトウェアの中で、SASにます。ODS CSVステートメントと併用することでご要望の処理が可能です。

おいて最も迅 速に行なわれている。また、これらの分 析のために必要なPerson-periodデータの作成には、SASの柔軟なプログラミング

例

機能が大いに役に立つ。
連載の中で度々紹介したが、海外、特に米国の統計に関する

DATA x;LABEL x='aaa';
LABEL y='bbb';
INPUT x y;
CARDS;
1 2
2 3
3 4
;
RUN;

Webサイトで、非常に多くのSASに関する資料を見ることができる。
少なくとも米国では、社会科学においてもSASが広範に使用されていることの証だろう。この連載の隠れたテーマは、「インターネットでSASのリソースを見つけよう」ということだったのかもしれない。インター
ネット上に限らず、SAS Publishingからのものをはじめとして、海外では、多くのSASに関する本が出版されている。これらが、日本でも翻訳されればSASに対する認知度も変化するのではないだろうか。

ODS LISTING CLOSE;ODS CSV FILE="c:¥test.csv";
PROC PRINT DATA=x LABEL NOOBS;RUN;ODS CSV CLOSE;ODS LISTING;

1行目にヘッダー情報があるCSVファイルを、データ部分のある2行目から読み込みたいのですが、何か良い方法はありますか？
INFILEステートメントのFIRSTOBSオプションで、外部ファイルの読み込み開始行を指定することができます。DATAステップのSETステートメントに、データセットオプションとして指定できることと同様、外部ファイルの読み込みに使用するINFILEステートメントにも指定できます。
例
INFILE "C:¥sample.csv" FIRSTOBS = 2;

Winter 2009

EXPORTプロシジャ等で、SASデータセットを出力する際、SAS 6にて圧縮したデータセットをSAS 9.1に移行したとWindowsの改行コード[CR+LF]ではなく、UNIXの改行

ころ、
データセットの容量が、急激に増加しました。以前と同じように圧縮した状態で保存したいのですが、なにか良

コード[LF]に変換して出力することができますか？

い方法はありますでしょうか？
SAS 6にて作成された移送ファイルは、データセットの圧縮

TERMSTRオプションにLFを指定し、FILENAMEステート

属性を保持しません。こちらはSAS 6で作成された移送ファ

メントを定義することで可能となります。

イルの仕様になります。次のSAS Noteに詳細がございます。
例
http://support.sas.com/kb/4/720.html
FILENAME outfl 'c:¥temp¥test.csv' TERMSTR=LF;
PROC EXPORT DATA=sashelp.class
OUTFILE = outfl
DBMS = csv;
RUN;

SAS 6にて作成された移送ファイルを圧縮された状態でCIMPORTするには、
COMPRESSシステムオプション、またはLIBNAMEステートメントのCOMPRESS
オプションを使用する方法がございます。以下の例をご確認ください。
例

SAS FoundationからはXステートメントとオペレーティング/* COMPRESSシステムオプションを使用する場合 */システムのコマンドで外部ファイルを削除していますが、

OPTIONS COMPRESS=YES;LIBNAME target "c:¥sas9target";
FILENAME trans V9 "c:¥sas6source¥sas6trans.cpt";
PROC CIMPORT INFILE=trans LIB=target MEMTYPE=data;
RUN;

Enterprise Guideからは、
オペレーティングシステムのコマンドが利用できません。何か良い方法はありますか？
通常、Enterprise Guideでは、外部コマンドの実行が制限/* LIBNAMEステートメントのCOMPRESSオプションを使用する場合 */されております。ファイルの削除であれば、FDELETE関数の利用をご検討ください。

LIBNAME target V9 "c:¥sas9target" COMPRESS=yes;
FILENAME trans "c:¥sas6source¥sas6trans.cpt";
PROC CIMPORT INFILE=trans LIB=target;
RUN;

例/* ファイル X:¥test.xls を削除する例 */FILENAME target "X:¥test.xls" ;DATA _NULL_ ;RC = FDELETE("target");
MSG = SYSMSG();IF RC ^= 0 THEN PUT RC= MSG=;RUN;COMPRESSシステムオプションに関しては全てのSASデータセット、
LIBNAMEステートメントのCOMPRESSオプションに関しては定義したライ
ブラリ配下の全てのデータセットを圧縮しますので、ご注意ください。
詳細につきましてはSASヘルプなどから、COMPRESSシステムオプション、
LIBNAMEステートメントのCOMPRESSオプションをご確認ください。

LIBNAME ODBCエンジンで接続したAccessデータ
YYYYMMDDhhmmss/YYYMMDDhhmmssfff形式

ベース上のテーブルに主キーを設定するにはどうしたらの日時データについて、読み込む方法を教えてください。

よいですか。

ND8601DTインフォーマットを指定することで、読み込みが可能

通常、SASデータセットに対して主キーを設定する場合はです。次の例では、ND8601DTインフォーマットによる読み込み

DATASETSプロシジャでIC CREATEステートメントを使用と、DATEPART関数によるSAS日付値の生成を行ないます。

しますが、ODBCエンジンライブラリ上のテーブルに対しては
IC CREATEステートメントが使用できません。ODBCエンジンライブラリ上

例のテーブルに主キーを設定するには、SQLプロシジャのEXECUTEステート
メントに、主キー作成用のALTER TABLE句を記述する必要があります。

DATA sample;
INPUT dt:ND8601DT.;
date=DATEPART(dt);
FORMAT dt DATETIME22.3
date YYMMDD10.;CARDS;
20080416201953700
20080417211953600
20080229231953999
20080301101953;
RUN;

以下にサンプルを示します。
例/* データソース testdb を a という名前のライブラリに設定 */LIBNAME a ODBC DSN=testdb;/* サンプルテーブルの作成 */DATA a.test;
SET sashelp.class;
RUN;/* SQL プロシジャで pk_name という名前の主キーを name 列に付与 */Winter 2009

PROC SQL;CONNECT TO ODBC(DSN=testdb);
EXECUTE (ALTER TABLE test ADD CONSTRAINT
pk_name PRIMARY KEY (name)) BY ODBC;DISCONNECT FROM ODBC;

ログに現れるエラー
ERROR: (execution) Matrices do not conform to the operation.

計算のイメージは次の通りです。

QUIT;/* ライブラリの解除 */{1 2,3 4}+{5 5,6 6}={6 7, 9 10}

LIBNAME a CLEAR;
どのようにしたらよいでしょうか？
SAS 9.1.3またはそれ以前のリリースでは、このタイプの演
SAS Enterprise Miner（EM）4.1や4.3では、グループ処理ノー

算は許可されていません。たとえばREPEAT関数を使用して、ドを使用してバギングやブースティングを行なうことができましたが、列ベクトルを行列の大きさに合わせてください。

EM5.2 やEM5.3ではどのようにして実現可能でしょうか？
プログラム例
EM5.3では、開始グループノードと終了グループノードを使用します。処理を反復するノード群を前記の2つのノードで

z=x+REPEAT(y,1,NCOL(x));

挟みます。また、開始グループノードのモードプロパティでは、目的に応じてバギングやブースティングを選択してください。なお、EM5.2

なお、SAS 9.2からはこのような演算も認められるようになりました。ただし、ではこの機能はサポートされていません。

逆に意図しない結果が得られる可能性もあることに留意してください。

SAS Enterprise Miner 5.3において、モデルパッケージ

PRINTプロシジャを使って、SASデータセットの一部をを作成してリポジトリに登録しましたが、削除する方法がランダムに表示して変数値を確認したいのですが、どのわかりません。
どのようにしたらよいでしょうか？

ようにすれば効率的でしょうか？

モデルパッケージマネージャから削除可能です。ただしリポジトリに

WHEREステートメントでRANUNI関数を使用すると、デー

関しては、サブミットボタンを押すまで画面に現れません。もし正しタの一部がランダムに選択されてアウトプットウィンドウにく削除できない場合には、テクニカルサポートまでご連絡ください。

表示されます。以下のプログラムは、SASデータセットtest
から全体のおよそ1%をランダムに選ぶものです。

LOGISTICプロシジャが出力するROC曲線下の面積（AUC）
を、複数のモデル間で比較する検定を行なうにはどうしたらPROC PRINT DATA=test;
WHERE (RANUNI(123)<.01);
RUN;

よいでしょうか？
SAS 9.2からは、ROCステートメントやROCCONTRASTステートメ
ントを使用して、ノンパラメトリックな手法に基づく検定を行なうこと

GLMプロシジャを用いて分析を行なっていますが、結果ができます。詳細については、LOGISTICプロシジャのドキュメントの表 示 、および出力したデータセットにおいて、効 果のを参照してください。SAS 9.1.3またはそれ以前のリリースでは、米国SAS InstituteInc.のWebサイトで公開されているSASマクロを使用することができます。

名前が21文字以降、表示されません。また、交互作用項
では、各変数の名前がより短くなっています。長い変数の名前を用いたまま、すべて表示させるためには、どのようにしたらいいのでしょうか。

Sample 25017: Nonparametric comparison of areas under correlated ROC curves
http://support.sas.com/kb/25/017.html

標準では、効果の名前は20文字までの表示となります。
より長い変数名を用いている、
また、高次元の交互作用項をモデルに含めている場合には、PROC GLMステート

SAS 9.1.3を使用しています。IMLプロシジャで、行数のみ

メントにおけるオプション、NAMELEN=オプションにて、より大きな数が一致する行列と列ベクトルの加算を行ないたいのですが、値を指定してください。
（標準の設定はNAMELEN=20であり、最大でそのまま記述するとエラーとなります。

200まで指定することができます。）
このオプションは、GLMプロシジャの他、GENMODプロシジャ、MIXED

プログラム

プロシジャ、GLMMODプロシジャ、LOGISTICプロシジャ、MIXEDプロシジャなどにても用いることができ、標準の値は同じく20となっています。なお、

PROC IML;
x={1 2,
3 4};
y={5,
6};
z=x+y;CATMODプロシジャにおける標準の値は24となります。

Winter 2009

SAS
Training■新規トレーニングコースの開催のご案内●SAS ® Enterprise Guide ®ユーザーのためSASプロ
グラミング」コース（2日間）
日

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

価

格：115,500円（税込）／チケット捺印数 2

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

受講対象：SAS Enterprise Guideのユーザーで、SASプログラムの■特別トレーニングコースの開催のご案内

前提知識：「SAS Enterprise Guideによるデータ加工とレポート作成」を●「製薬企業におけるSASプログラミング入門」コース（1日間）

学習内容： 本コースは、SASプログラミングへの導入となるコースで、「SAS

コーディングや、SAS Enterprise Guideによって生成される
SASコードの修正について学習したい方
受講済みか、同程度の知識のある方プログラミングII」コースの前提となります。

日

程：2009年2月26日（木） 10:00 〜 17:00（東京会場）

・SAS Enterprise GuideとSASプログラムの連携による分析方法

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

・SASプログラムの構造と構文

受講対象：SASシステムによる臨床試験の統計解析またはDM業務に従事している方
臨床開発経験1年未満のSASプログラマの方から、SASプロ
グラマを管理する方まで、幅広いレベルの方々を対象としています。
前提知識：下記のコースのいずれかを受講済みの方
・「SASプログラミング入門」
・「SASプログラミング I」

・DATAステップを使用したSASデータセットの加工
・DATAステップを使用した区切り記号付きテキストファイルの読み込み
・DATAステップを使用したテーブルのマージ、マッチする行やマッ
チしない行の分離・SAS Enterprise Guideによって生成されるコードを編集した、タスク出力のカスタマイズ
コンテンツ：■ なぜSASプログラミングを学習するのか？

または、臨床開発業務に6カ月以上従事している方、さらに、・コース概要下記のコースを受講済みの方がなお望ましい。

・SAS Enterprise Guideの基本の復習

・「SASプログラミング II」
・「SASマクロ言語」
学習内容：『SAS Programming in the Pharmaceutical Industry』を・SASプログラミングを理解することの利点■ SASプログラミングの基本
・SASプログラム イントロダクション

用いて、臨 床 試 験におけるプログラミングのテクニックに・SASプログラミングの概念ついて学習します。

・構文エラーの診断と修正

コンテンツ：Chapter 1 : 環境
Chapter 2 : 分類変数の作成
Chapter 3 : データの読み込み

・SASデータライブラリへのアクセス
・リレーショナルデータベースへのアクセス（自己学習）■ SASデータセットの読み込み

Chapter 4 : 解析用データの作成と変換

・DATAステップとフィルタとクエリタスクの比較

Chapter 5 : 表やリストの作成

・DATAステップの基本

Chapter 6 : グラフの作成

・DATAステップの処理

Chapter 7 : よくある解析の実行と結果の取得

・条件付き処理

Chapter 8 : データの出力
Chapter 9 : 臨床試験におけるSASプログラミングの将来
Chapter 10: リソース
テキスト：本コースは、英語版の書籍『SAS Programming in the
Pharmaceutical Industry』（SAS Press）を使用し、日本語で説明を行ないます。なお、補助資料等はございません。

・その他の演算子と出力形式（自己学習）■ ローデータファイルの読み込み
・区切り記号付きデータの読み込み
・データエラーの調査
・PDVでの値の保持（自己学習）■ SASデータセットの組み合わせ【注意】受講申込者は、トレーニング申込とは別に事前にご購・DATAステップを使用したデータのマージ入ください。
（上記書籍を既にお持ちの方は除きます。）購入

・データの縦結合

方法は、下記『書籍購入方法』をご参照ください。
書籍購入方法：『SAS Programming in the Pharmaceutical Industry』

・データの追加（自己学習）■ タスクによって生成されるコードの拡張（SAS Press）

・生成されたコードの理解

Amazon.co.jp（http://www.amazon.co.jp/）でご購入ください。

・生成されたコードとの対話
・ヘルプの利用（自己学習）■ 出力コンテンツの制御
・タイトルやフットノートの拡張
・コードによる実行時パラメータの利用
・条件によるハイライト■ 出力の種類の制御
・アウトプットデリバリシステム
・HTML出力のカスタマイズ
・RTF出力のカスタマイズ
・PDF出力のカスタマイズ

Winter 2009●「決定木モデリング」コース（2日間）
日

程：2009年3月2日（月）〜3日（火） 10:00 〜 17:00（東京会場）●「SASプログラミング実践テクニック 2 〜処理の効率化〜」
コース（1日間）

価

格：115,500円（税込）／チケット捺印数 2

日

程：2009年3月16日（月）10:00 〜 17:00（東京会場）

価

格：57,750円（税込）／チケット捺印数 1を構築
受講対象： SAS® Enterprise MinerTMを利用して決定木（ツリー）
したい予測モデリングやデータ解析に携わる分析者
前提知識：下記2コースを受講済みか、同程度の知識のある方・「SASによる統計解析 I」

受講対象：既存 プログラムの処理効率UPのテクニックを学習したいと考えている方
前提知識：下記2コースを受講済みか、同程度の知識のある方・「SASによる回帰分析 I」

・「SASプログラミング I」

さらに下記のコースを受講済みか、SAS Enterprise Minerを・「SASプログラミング II」

使用した分析経験のある方

さらに、「SASプログラミングIII〜上級テクニックと効率化〜」

・「SAS Enterprise Miner 操作入門」

コースを受講いただいておりますと、本コース内容の理解に

学習内容：本コースは、ツリー構造の予測モデルを、また決定木の成長、役立ちます。

剪定（枝刈り）、および評価の方法を扱っています。さらに、

学習内容：・業務上の場面を想定し、実践的なテクニックを交え学習します。

探索的データ解析、次元の削減、および欠損値の補完といった、

・既存プログラムの処理速度をあげる実践的なテクニックを

ツリーの補助的な利用法が論じられます。
コンテンツ：■ ツリー構造のモデル・分類木

学習します。
コンテンツ：■ はじめに・コース概要・回帰木■ データの並べ替えテクニック■ 再帰的な分割

・並べ替えのオプション

・2分割と多分割

・並べ替えのテクニック

・分割基準■ データの更新テクニック

・欠損値

・変数属性の変更■ 剪定（枝刈り）

・データのコピー

・ｐ値の調整・データの更新・プロフィット（利益）/ロス（損失）に関する考慮・データの追加

・クラス確率木

・データの抽出・クロスバリデーション■ ツリーの補助的な利用法

・データの結合
■ データの要約テクニック

・データ探索・MEANSプロシジャ・次元の削減・FREQプロシジャ・補完■ ツリーのアンサンブル■ オプションテクニック
・メモリに関するオプション

・バギング（bagging）
・アーキング（arcing）※内容は予告なく変更する場合があります。

・勾配ブースティング（gradient boosting）
SAS Institute Japan株式会社では、今後も多岐にわたったトレーニング
コースを追加していく予定です。コース内容・日程等の詳細は、順次弊社
Webサイトに公開しますので、以下のURLをご参照ください。
http://www.sas.com/japan/training/
その他、
トレーニングに関する情報については、上記のURLをご参照いた
だくか、下記トレーニング担当までお問い合わせください。

トレーニングに関するお問い合わせ先マニュアル販売に関するお知らせ

SAS Technical News送付についてのご案内

2008年11月より弊社ホームページでお知らせしている通り、英語版

SAS Technical Newsは次の方を対象にお送りしています。

SASマニュアルおよびSAS Learning Editionリリース4.1の販売業務は、
2008年12月26日をもってAmazon.co.jpへ移管しました。ご用命の際は・SASコンサルタントとしてご登録の方

Amazon.co.jpにてお求めください。

・SAS Technical Newsの購読をお申し込みいただいている方

なお、日本語版マニュアルは、以前と同様、弊社にてご注文を受付して今後SAS Technical News購読が不要の方、配信先の変更等をご希望おります。詳細は下記のURLをご参照下さい。

の方は、下記URLよりお手続きください。

http://www.sas.com/japan/manual/index.html
配信停止

日本語版マニュアルに関するお問い合わせ先

http://www.sas.com/japan/corporate/material.html
配信先変更手続き
http://www.sas.com/japan/sasj̲privacy.html#inquiry

最新リリース情報■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製品を除く

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

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

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