特集

特集

Open OLAP Server 3.0ソフトウェアで実現するOLAP

Q&A

Open OLAP Server 3.0
ソフトウェアで実現する
OLAP
はじめに
Open OLAP Server 3.0ソフトウェアは、業務データの迅速かつ高オンラインインフォメーションサービスのご紹介

度な分析を、専門家からエンドユーザの手に渡すことを実現します。
ここでは、その際に必要となる有用な情報をご紹介します。

新刊マニュアルのご紹介
1. OLAPとOpen OLAP Server 3.0ソフトウェア

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

2. Open OLAP Server 3.0ソフトウェアの特徴
3. OLAP環境の構築
4. OLAP環境の管理

最新リリース情報

5. 実際にOLAP環境の構築・管理時の参考点
具体的な内容に入る前に、Open OLAP Server 3.0ソフトウェアの機能を理解していただくために、使用例をご紹介します。

Open OLAP Serverの使用例（MS Excel 2000を使用した場合）
MS Excel 2000の分析ツールであるピボットテーブルから、ドラッ
グ&ドロップでフィールドを埋め、データを表示します。ピボット
テーブルに表示された項目は、後述するMDDBに格納されています。

レポートの書式設定やグラフウィザードを利用すれば、簡単にレポ

セス機能を利用すれば、主要なDBMSへアクセスし、それらを利用ートを作成することができるので、ユーザフレンドリーなOLAP環することができます。

境の構築が行えます。

2.4 クライアント / サーバーによる実行
Open OLAP Server 3.0ソフトウェアを利用したOLAP環境では、大容量データの分析がスムーズに行えるように、クライアント / サー
バー環境での実行をサポートしています。サーバー側にあるデータをサーバーのリソースを利用して処理を行い、結果をクライアントに表示することができます。（なお、クライアント側には、｢2.1 ローコストでOLAPを実現｣でご紹介したOLAPツールとOpen OLAP
Server 3.0 Clientが必要となりますが、SASシステムをインストー
ルする必要はありません。）

2.5 OS、
ハードウェア環境を幅広く選択することが可能
Open OLAP Server 3.0ソフトウェアは、様々なOSやハードウェア

1. OLAPとOpen OLAP Server 3.0ソフトウェア

環境上で稼動します。サーバーのOSとしてサポートしているのは、
AIX、HP-UX、Solaris（UNIX版SASシステムリリース6.12 TS050

1.1 OLAPとは？

以降）、Windows NT、Windows 95（Windows版SASシステムリ

OLAP（Online Analytical Processing）とは、仮説を立ててデータ

リース6.12 TS045以降）です。

を検証するためのDSS（意思決定支援システム）です。OLAP技術を利用した検証は、ビジネスユーザの最も興味のある事実であるビ

3. OLAP 環境の構築

ジネスルールの発見に大きな役割を果たします。具体的には、

OLAP環境の構築方法をご紹介します。ここでは、以下の状況を想MDDB（多次元データベース）を利用します。MDDBは、データに定してOLAP環境の構築を行います。

より速く簡単にアクセスできるように、要約されたデータを格納する専用のデータ格納機能を持っています。この機能により、ユーザは、あらゆる断面から大量のデータをすばやく検証することができます。応用分野は、マーケティング分析、財務報告、品質追跡、収益性分析、人的資源および価格決定など多岐にわたります。

・データ
架空の自動車販売会社の売り上げデータを利用します。
・OLAP環境を構築する目的
例えば、『○×店でもっとも営業成績の良かった担当者がある月に取り扱った車種』などの高度な情報をエンドユーザが自由に検1.2 Open OLAP Server 3.0ソフトウェアとは？

索し、レポーティングできるようにするためのOLAP環境構築です。

弊社の多次元データベースサーバー製品、SAS/MDDB Serverソフ
トウェアの性能を強化する新しいミドルウェア製品として、2000年

前提条件：

4月に、お客様へ無償配布されたソフトウェアです。Open OLAP

メタベースの作成は終了しているものとしてMDDBの作成を行いまServer 3.0ソフトウェアを使用することで、エンドユーザは、SASす。メタベースの作成に関しては、弊社発行のマニュアル｢誰にでシステムがインストールされていないマシンからMDDBに直接アクもできるアプリケーション構築：SAS/EISソフトウェア入門（改訂セスし、OLAPの実行が可能となります。

版）｣（注文番号 10080）をご覧ください。

2. Open OLAP Server 3.0ソフトウェアの特徴

3.1 MDDBの作成

Open OLAP Server 3.0ソフトウェアが持つ5つの特徴をご紹介します。

MDDBの作成には、SAS/EISソフトウェアの多次元テーブルオブジ
ェクトまたはMDDBプロシジャを利用します。ここでは、SAS/EIS

2.1 ローコストでOLAPを実現

ソフトウェアの多次元テーブルオブジェクトを利用してMDDBを作

Microsoft社のExcel 2000やCognos社のPowerPlay 6.5Jなど、OLE成します。

DB for OLAP API に対応したOLAPツールを使用している場合、新たにOLAPツールを購入する必要がありません。また、エンドユー
ザが使い慣れたOLAPツールを使用することができるので、特別な教育は必要としません。これらにより、OLAPツールの購入やエンドユーザへの教育費用等のコストが発生しません。

2.2 迅速なOLAP環境の構築
SAS/EISソフトウェアを利用すれば、GUI環境でMDDBを作成することができるので、SASシステムのプログラミングをご存知ない方
でもポイント・アンド・クリックで、迅速かつ簡単にOLAP環境の構築が行えます。

2.3 データソースを選ばない
OLAPの分析対象となるデータは、さまざまなDBMS（データベー
ス管理システム）に格納されています。SASシステムのデータアク

1）［SAS/EIS: EIS作成］ウィンドウの 追加 ボタンをクリックします。

2）［SAS/EIS:追加］ウィンドウの［オブジェクトデータベース］リスト
ボックスから"データアクセス"を選択し、また、［オブジェクト］

8）［SAS/EIS 多次元データベース］ウィンドウから［次元］のを選択します。

リストボックスから"多次元データベース"を選択します。そして、 作成 ボタンをクリックします。

9）［列の選択］
ウィンドウで［タイプ］ボックスに表示されたタイプ一覧から"次元"を選択し、［選択リスト］に表示された"階層１"を選択して反転表示させ、を選択し、 了解 ボタンをクリックします。

10）［SAS/EIS 多次元データベース］ウィンドウの 詳細設定 ボタン3）［名前］と［見出し］入力欄に値を入力します。
4）［多次元データベース］のを選択します。

をクリックします。
11）［詳細設定］ウィンドウの 設定 ボタンをクリックし、ポップアッ
プメニューからサブテーブルの定義を行います。ここでは、"ファイルサイズで最適化"を選択します。

サブテーブルの定義で選択できる項目の違いは下記の通りです。マシン環境や必要性に応じて選択します。

5）［多次元データベースの保存場所］のを選択してMDDBの組み合わせの設定

スピードとファイルサイズの妥協点です。
（デフォルト）ファイルサイズで最適化

サブテーブルの作成を必要最小限に抑えますが、Open OLAP Serverのレスポンスが遅くなります。

パフォーマンスで最適化

Open OLAP Serverのレスポンスが早くなりますが、サブテーブルの作成が非常に多くなります。

保存場所を指定し、［名前］入力欄にMDDB名を入力します。そして、 了解 ボタンをクリックします。

12）［詳細設定］
ウィンドウの 了解 ボタンをクリックします。
13）［SAS/EIS 多次元データベース］ウィンドウのすべての項目に値が入力されていることを確認し、 ロード ボタンをクリックします。
6）［SAS/EIS 多次元データベース］ウィンドウから［テーブル］のを選択します。
7）［テーブル選択］ウィンドウの［選択リスト］ボックスに表示されたテーブル一覧から"テーブル"を選択して反転表示させ、を選択し、 了解 ボタンをクリックします。

14）MDDBが正しく作成された場合、下記のようなメッセージが表示されます。 了解 ボタンをクリックします。

8） OK ボタンをクリックします。
15）［SAS/EIS 多次元データベース］
ウィンドウの 了解 ボタンをクリックし、MDDBの作成を終了します。

9） メニューバーから［ファイル］−［終了］を選択します。

3.2 OLAPメタデータの作成と登録

3.4 Open OLAP Server 3.0の起動

OLAPメタデータの作成と登録を行います。詳細に関しては、「OpenOLAPメタデータの作成と登録が終了すると、Open OLAP Server

OLAP Serverソフトウェア（バージョン3.0）インストレーション

3.0の起動が可能になります。ここでは、プログラムによるOpenガイド」の第5章をご覧ください。

OLAP Server 3.0を起動します。

1） サーバーのSASシステムを起動します。

PROGRAM EDITORウィンドウで下記のように入力し、サブミット
します。

2） 下記をコマンドバーに入力し、をクリックします。
dm "af c=sashelp.opnolap.listener.scl";

af c=sashelp.opnmddb.cube.frame

SASディスプレイマネージャコマンドをSASステートメントとして利用するためには、DMステートメントを利用します。DMステート
3）［オープンキューブメタデータ］ウィンドウが開くことを確認します。

メントの詳細に関しては、｢SASランゲージ リファレンス｣（注文番号 10067）の215ページをご覧ください。

3.5 Open OLAP Server 3.0の操作Open OLAP Server 3.0を操作するには、通常、サーバー側でプログラムを実行しますが、クライアントからGUI環境（SASOpen

OLAP Server アドミニストレータ）にて行うこともできます（ただし、機能は限定されます）。ここでは、SAS Open OLAP Server ア
ドミニストレータの利用方法をご紹介します。
前提条件：
4） メニューバーから［ファイル］−［開く］を選択し、［テーブルのOpen OLAP Server 3.0 Clientのインストールタイプが "Custom"であることを想定しています。もしも、インストールタイプが選択］ウィンドウを開きます。

"Typical" の場合には、Open OLAP Server 3.0 クライアントソフト
5）［選択リスト］
ウィンドウから"MDDB"を選択し、を選択します。そして、 了解 ボタンをクリックします。

ウェアをアンインストールし、再度Open OLAP Server 3.0クライ
アントソフトウェアのインストールすることをお勧めします。その際、インストールタイプは、 "Custom" を選択してください。
●Open OLAP Serverアドミニストレータの起動
デスクトップ上のアイコンをダブルクリックします。

●よく利用されるOpen OLAP Server アドミニストレータの機能
よく利用される便利な機能をご紹介します。
6）［キューブの登録］ウィンドウに、先程選択したMDDBが登録されていることを確認します。

・Open OLAP Server 3.0が起動されているか確認する
Open OLAP Server 3.0が起動されているか確認するためにはPing
コマンドを発行します。調べたいコンピュータ名またはIPアドレ

7） メニューバーから［ファイル］−［上書き保存］を選択します。

スを［サーバー名：ソケット］入力欄に入力し、［サーバーのコマンド］
ラジオボックスから"Ping"を選択します。そして、実行 ボタンをクリックすると［サーバーのログ］ウィンドウに結果が表示されます。

はじめてOpen OLAP Serverを起動する場合
1） まず1セッション目のSASシステムを起動します。そして、AFコマンドでsashelp.opnolap.listener.sclを実行し、Open
OLAP Serverを起動します。
（サンプルプログラムA：0001行目を参照）
2） バッチジョブのプログラムを実行するために2セッション目の・Open OLAP Server 3.0の停止

SASシステムを起動します。そして、詳細データを更新するた［サーバーのコマンド］ラジオボックスから"停止" を選択し、めにDATAステップを実行します。

実行 ボタンをクリックします。すると、Open OLAP Server（サンプルプログラムB：0001行目〜0005行目を参照）

3.0が停止し、［サーバーのログ］ウィンドウから結果を確認できます。

3） 2セッション目のSASシステムでOpen OLAP Serverを停止する

・［サーバーのログ］ウィンドウのクリア（初期化）ためにDATAステップを実行し、1セッション目のSASシステム

ログウィンドウのクリア ボタンをクリックします。

で起動しているOpen OLAP Serverを停止します。

・［サーバーのログ］ウィンドウのログをファイルへ保存する（サンプルプログラムB：0007行目〜0018行目を参照）

ログを保存 ボタンをクリックすると、ログをテキストファイ
ルとして保存できます。

4） 1セッション目のSASシステムでbyeコマンドを実行し、1セッ
ション目のSASシステムを終了します。
（サンプルプログラムA：

4. OLAP 環境の管理

0005行目を参照）同時に、2セッション目のSASシステムは、1

OLAP環境の管理における3大要素は、以下の作業です。

セッション目のSASシステムが終了するのを待機するために

1. Open OLAP Serverの起動

DATAステップを実行します。

2. Open OLAP Serverの終了（サンプルプログラムB：0021行目〜0023行目を参照）

3. MDDBの更新
5） 実行順序2にて更新された詳細データからMDDBを更新するた
ここでは、これまでご紹介していない、MDDBの更新方法をご紹介

めにMDDBプロシジャを実行します。

します。

（サンプルプログラムB：0026行目〜0031行目を参照）

4.1 MDDBの更新 −Open OLAP Server の管理−

6） AFコマンドでsashelp.opnmddb.batchit.sclを実行し、メタデ

MDDBを更新する方法には、SAS/EISソフトウェアを利用してGUI環

ータとMDDBを同期させます。

境から行う方法と、プログラムによる方法があります。プログラム（サンプルプログラムB：0034行目を参照）

を使う方法では、バッチ形式での更新作業が可能になります。そのため、夜間の任意の時間にMDDBの更新作業を行うことも可能にな

7） AFコマンドでsashelp.opnolap.listener.sclを実行し、Open

ります。そこで、ここでは｢3. OLAP環境の構築｣で作成したMDDBのOLAP Serverを起動します。

更新を、プログラムを利用して行う方法をご紹介します。

（サンプルプログラムB：0037行目を参照）●プログラムによるMDDBの更新

実行順序

SAS（1セッション目）

SAS（2セッション目）

Open OLAP Serverの状況

1Open OLAP Serverの起動

−

起 動

2

−

詳細データの更新

起動中

3

−

Open OLAP Serverの停止

停 止

4

SASセッションの終了

1つ目のSASセッションが終了するのを待機

停止中

5

−

MDDBの更新

停止中

6−

メタデータとMDDBを
同期させる

停止中

7

−

Open OLAP Serverの起動

起 動・プログラム2つのサンプルプログラムをご紹介します。サンプルプログラム
Aでは、Open OLAP Serverの起動を行います。サンプルプログ
ラムBでは、MDDBの更新を行います。このサンプルプログラム
Bは、バッチとして処理を行いますので、事前に登録しておく必要があります。なお、実際のプログラムは下記をご参照ください。
また、MDDBプロシジャに関しての詳細は、｢Introduction

toSAS/EIS Software and SAS/MDDB Server｣（注文番号 55975）
をご覧ください。
・プログラムの実行環境
先程ご紹介した2つのプログラムは、同一マシン上で起動された2つのSASシステムで、それぞれ実行します。
・プログラムの利用方法と流れ
MDDBの更新作業をプログラムの流れに沿ってご説明します。

1セッション目のSASシステムは、Open OLAP Serverの停止と同時に終了しますので、MDDBの実行順序5からは、起動しているSAS＊ 2つのプログラムの何行目から何行目を実行することでどのような処理が行われているのかを詳細にご説明します。"（サンプルプログラム名：行目を参照）"の表記にて、ご参照いただ
きたいプログラム名と行番号を表しています。

システムは1つになります。

Open OLAP Serverが起動中の場合●サンプルプログラムB
MDDBの更新に利用します。

1） バッチジョブのプログラムを実行するために、3セッション目のSASシステムを起動します。そして、詳細データを更新する

0000 /* 詳細データの更新ためにDATAステップを実行します。

0001 data mylib.carsales;（サンプルプログラムB：0001行目〜0005行目を参照）
2） 3セッション目のSASシステムでOpen OLAP Serverを停止するためにDATAステップを実行し、2セッション目のSASシステム

0002

set mylib.carsales;

0003

if car='バン' then car='トラック';0004

else if car='セダン' then car='クーペ';*/

0005 run;

で起動しているOpen OLAP Serverを停止します。
（サンプルプログラムB：0007行目〜0018行目を参照）

0006 /* Open OLAP Serverの停止*/

0007 filename out SOCKET "jpnts2:5154";

3） 2セッション目のSASシステムでbyeコマンドを実行し、2セッ

0008 filename in SOCKET ":5155" SERVER;

ション目のSASシステムを終了します。（サンプルプログラム

0009

B：0040行目を参照）同時に、3セッション目のSASシステムは、

0010 data ̲null̲;2セッション目のSASシステムが終了するのを待機するために

0011

file out;

DATAステップを実行します。

0012

put 'PORT 5155 jpnts2';0013

put 'STOP';

0014

file log;

0015

infile in length=lv;

0016

input string $varying200. lv;0017

put string=;（サンプルプログラムB：0021行目〜0023行目を参照）
4） 実行順序2にて更新された詳細データからMDDBを更新するた
めにMDDBプロシジャを実行します。
（サンプルプログラムB：0026行目〜0031行目を参照）

0018 run;5） AFコマンドでsashelp.opnmddb.batchit.sclを実行し、メタデータとMDDBを同期させます。

0019
0020 /* 前セッションの終了を待つために30秒間スリープ（サンプルプログラムB：0034行目を参照）*/

0021 data ̲null̲;0022

6） AFコマンドでsashelp.opnolap.listener.sclを実行し、Open
OLAP Serverを起動します。

x=sleep(30);0023 run;
0024（サンプルプログラムB：0037行目を参照）

0025 /* MDDBプロシジャを実行し、MDDBを更新*/

0026 proc mddb data=mylib.carsales out=mylib.carmddb;
実行順序
1

2

SAS（2セッション目）−−

SAS（3セッション目）

Open OLAP Serverの状況
起動中

詳細データの更新

Open OLAP Serverの停止

停 止

0027

class shop car person;

0028

class month / ascending;0029

var total option cost / sum;0030

hierarchy shop person month car;0031 run ;3

4

2つ目のSASセッションが終了するのを待機

停止中−

MDDBの更新

停止中

0034 dm "af c=sashelp.opnmddb.batchit.scl−

メタデータとMDDBを
同期させる

停止中

0035

Open OLAP Serverの起動

起 動

SASセッションの終了

0032
0033 /* BATCHITを実行し、メタデータをMDDBと同期させる */cube=mylib.samplemb.olap";56−0036 /* Open OLAP Serverの起動*/

0037 dm "af c=sashelp.opnolap.listener.scl";
0038

3セッション目のSASシステムは、本来は2セッション目のSASシス

0039 /* セッションの終了

テムです。なぜなら、1セッション目のSASシステムはすでに終了

0040 dm 'bye';

しているからです。
●サンプルプログラムA
はじめてOpen OLAP Serverを起動するときに利用します。
0000 /* Open OLAP Serverの起動*/

0001 dm "af c=sashelp.opnolap.listener.scl";
0002
0003 /* Open OLAP Serverが終了次第、このセッションを */0004 /* 終了させます
0005 dm 'bye';*/*/5. OLAP 環境の構築・管理時の参考点
実際にOLAP環境を構築する上での参考点をご紹介します。

5.1 MDDBのファイルサイズに制限はありません
SASシステムリリース6.12 TS020では、OSが2GBを超えるファイ
ルをサポートしていても、MDDBの最大サイズは2GBと制限されていました。しかし、SASシステムリリース6.12 TS045以降（OpenOLAP Server対応のリリース）では、この制限がなくなります（MDDBの中のサブテーブルは最大2GBまでです。しかし、この制限は将来的には拡張する予定です）。

5.2 MDDBの容量見積もり
MDDBの容量計算方法をご紹介します。
・1MDDBに対して900バイトのオーバヘッド・1分析変数に対して676バイトのオーバヘッド
・1分類変数に対して340バイトのオーバヘッド＋（フォーマットの最大バイト数×値の数）＋（フォーマットされていない最大バイト数×値の数）
・1階層に対して296バイトのオーバヘッド＋（次元数×4＋分析変数の数×統計量の数×8）×組み合わせ数）...NWAYテーブルも含む
以上を合計した値が容量となります。ただし、実際には、数千バイ
ト程の誤差（上増し）が生じる場合があります。これは、SASデー
タセットと同様に、ページを基本としたファイルアロケーションが行われているためです。

おわりに『データを利用して、ビジネスに潜むビジネスルールを発見する。』
OLAPは、この目的を達成するための強力なツールの一つであると確信しています。この目的を達成するために、SASでは、様々なソ
フトウェア、サービスを提供してきました。また、この強力なツールをさらに強化する新しいソフトウェア Open OLAP Server 3.0ソ
フトウェアを、お客様へ無償提供させていただくことは、弊社にとって大変喜ばしいことです。今回のSAS Technical Newsの特集記
事を通じて、弊社のこのメッセージがお客様へ届けば幸いです。

Open OLAP Serverを利用するクライアントの設定や操作方法に関しては、「Open OLAP Serverソフトウェア（バージョン3.0）インストレーションガイド」（Excel 2000）、または、弊社ホームペー
ジ（PowerPlay 6.5J）をご参照ください。

お問い合わせ先
SAS/MDDB Serverソフトウェア、SAS/EISソフトウェア、Open
OLAP Server 3.0ソフトウェアに関してのお問い合わせは、下記までお願いいたします。
（株）SASインスティチュートジャパン
東京本社

TEL: 03-3533-6921

大阪支店

TEL: 06-6345-5700

九州営業所

TEL: 093-512-5014

http://www.sas.com/japan/

DATASETSプロシジャを使用すれば、テンポラリのSASデータセットを一括で削除することができます。
このときコロン（：）を使用すると、その文字で始まる
名前のデータセットすべてが処理の対象となります。
●SAS日付値をYYYYMMDD形式で出力するフォーマットについて●テンポラリデータセットの一括削除について●SAS/CONNECTを用いた外部ファイルの転送について●インデックスの作成について●SAS/ACCESS to Oracleで Oracle 8i(8.1.5)にアクセス可能なSASのバージョンについて●SAS/CONNECTでリモートセッションの確立を確認する方法について●データセットフォーマッタで任意のデータ値の色を変えて出力する方法について●メインフレーム上のSASデータセットを
他の環境に転送したときの日本語データの文字化けについて●階層線形モデルについて●LOGISTICプロシジャにおける交互作用の指定について

例）
WORKライブラリのデータセット名が「̲（アンダーバー）」ではじまるデータセットをすべて削除
proc datasets library=work;
delete ̲:;
quit;

SAS/CONNECTソフトウェアを用いて、リモートコン
ピュータ上にある外部ファイルをローカルコンピュー
タへ転送することはできますか？
SAS/CONNECTソフトウェアで用意されている
DOWNLOADおよびUPLOADプロシジャは、外部ファ

SAS日付値を書き出す際、YYMMDD8.フォーマットを使用するとYY-MM-DD形式となり、YYMMDD10.フォ

イルも扱うことができます。従ってSASプログラムのーマットを使用するとYYYY-MM-DD形式となります。

記述によりバイナリファイルも含め任意のファイルを送受信するこ最新版のSAS6.12 TS060では、YYYYMMDD形式で書き出すことがとが可能です。また、テキストファイル送受信時には自動的にコーできるフォーマットが新たに追加されたようですが、何というフォド変換されます。

ーマットでしょうか？
例）
SAS6.12 TS060版では、新たに「YYMMDDNw.」、

UNIX上のテキストファイルをPCへダウンロード「MMDDYYNw.」、「DDMMYYNw.」、という3つのフォーマットが追加されました。これらのフォーマッ
トを使用すると、SAS日付値をYYYYMMDD、MMDDYYYY、

rsubmit;proc download infile = '˜/csvdata/data.csv'

DDMMYYYYのように年号4桁、かつ「-（ハイフン）」や「 /（スラッシュ）」等のセパレータなしで表示させることができます。

outfile = 'c:¥temp¥data.csv';
run;endrsubmit;

例）
data ̲null̲;

PC上のバイナリファイルをUNIXへアップロード

day=today();
format day yymmddn8.;

rsubmit;put day=;proc upload infile = 'c:¥temp¥sample.tar'run;outfile = '˜/data/sample.tar'
binary;
run;

ログ出力）

endrsubmit;

DAY=20000517

SASシステムを利用して、アプリケーションを作成しています。アプリケーション中のSASプログラムで生成されるテンポラリのSASデータセットを一括で削除したいのですが、何か良い方法はありますか？

SASデータセットにインデックスを作成できるようで

DATASETSプロシジャの場合すが、その作成方法とメリット・デメリットをおしえてください。

proc datasets lib=mylib nolist;
modify kaiin;

インデックスには、データセット内のキー変数の値と、index create sex̲age=(sex age);

それに対応するオブザベーションへのポインタが格納quit;されます。インデックスを作成しておくと、ソートを実施することなくBYステートメントが使用できます。また、全オ
ブザベーションに対する構成比が少ないオブザベーションを対象とSQLプロシジャの場合

するWHERE式処理では、オブザベーションのサブセットに素早くアクセスできます。ただし、インデックスの作成には時間がかかり、

proc sql;

また、その管理には余分なディスク領域が必要となります。そのた

create index sex̲age on mylib.kaiin(sex,age);

め、データセットを頻繁に更新する場合や、十分な空きディスク領

quit;

域がない場合にはインデックスの作成はお勧めしません。なお、インデックスの作成には、DATAステップ、DATASETSプロシジャ、
SQLプロシジャ、等を使用します。このとき、1つのキー変数を指定する場合には単一インデックスを作成し、複数の変数を指定する
場合には任意の名前をつけて複合インデックスを作成してください。

SASシステムリリース6.12のSAS/ACCESS to Oracleソ
フトウェアでは、Oracle 8i（8.1.5）にアクセスすることができますか？

［単一インデックスの作成方法］
例）

通信ソフトウェアにSQL*Net V2.3以降のバージョンをDATAステップの場合経由してアクセスすることはできます。ただし、OS、SAS（TSレベルを含む）、Oracleの各バージョンの組み

data mylib.kaiin (index=(member));
set mylib.kaiin;run;

合わせによっては修正ファイルが必要な場合があります。導入される際には、弊社テクニカルサポートまでお問い合わせください。なお、SASシステムバージョン8からは、通信ソフトウェアのNet8にも対応する予定です。

DATASETSプロシジャの場合
proc datasets lib=mylib nolist;

SAS/CONNECTソフトウェアを使用したバッチプログ

modify kaiin;

ラムにおいて、データを転送する前にリモートセッシ

index create member;

ョンが確立しているかどうか確認する方法はありますか。

quit;%SYSRPUTステートメントを使用して、リモートセッ
ションの確立を確認することができます。以下の例では、

SQLプロシジャの場合

リモートセッションが確立されている場合は1、確立さproc sql;

れていない場合は0の値がマクロ変数SIGNONRCに戻されます。

create index member on mylib.kaiin(member);
quit;

例）

%macro checkit;［複合インデックスの作成方法］%global signonrc;

例）%let signonrc=0;

DATAステップの場合%let rsub=%nrstr(rsubmit; %sysrput signonrc=1;endrsubmit;);&rsub;

data mylib.kaiin (index=(sex̲age=(sex age)));%mend checkit;

set mylib.kaiin;
run;%checkit;%put rc=&signonrc;

SASシステムが移送ファイルを作成する際、日本語デ%ds2htmマクロを使ってHTMLファイルを作る際、任意の変数がマイナス値のときに、赤で出力することはータ部分を「日本語データ」と認識していないのが原できますか。

因です。「$KANJIw.フォーマット」はシフトコードを持たないデータにシフトコードを付加してくれる便利なフォーマッ
トですが、移送ファイルを作成する際に、「$KANJIw.フォーマット」%ds2htmマクロの引数ではできませんが、データを加を指定しているデータを変換する為の判断条件とはなりません。移工すれば可能です。下記の例を参考にしてください。

送ファイルを作成する際に、日本語データ（漢字コード）は「シフトコードの存在」によって認識されます。

例）/* サンプルデータ */例）
UNIX上のテキストファイルをPCへダウンロード

data a;IBM機で x'0E44810F' 「あ」

input code $ value dif1;（x'0E'とx'0F'はシフトコード、x'4481'はIBM漢字コード）

cards;
7001 14170 -590

PCでは「あ」と表示されます。

7002 2025 -80
7003 1075 11IBM機で x'4481' + $KANJI4.「あ」7004 3200 -40（IBM漢字コードと$KANJI4. フォーマット）

7005 1920 1110;
run;

PCではこの部分が日本語データと認識されないため、きちんと変換

data a2(drop=dif1̲);

処理されず文字化けします。このため、シフトコードが入っていな

set a(rename=(dif1=dif1̲));い日本語データを含むデータセットを移送ファイルにするには、次if dif1̲ < 0 thenの手順を踏まないと正しい日本語データが送られないことになります。
/* fontタグを付加 */dif1 = '<font color=red>' || put(dif1̲,comma7.) || '</font>';

手順:1. 日本語項目にシフトコードを付加する。
2. 手順1.の処理が終わったデータセットで移送ファイルを作成する。

else
dif1 = put(dif1̲,comma7.);

この処理はマクロプログラムとして準備しておくと便利です。例えrun;

ば、「$KANJIw.フォーマットで日本語項目を表している」SASデー%ds2htm(htmlfile='e:¥temp¥a.html',

タセットから、「シフトコード付きの日本語項目を持つ」SASデータ
セットを作成するには、以下のマクロで行うことができます。

openmode=replace,data=work.a2,/* 加工後のデータセットを指定 */encode=n,/* encode=nを指定 */マクロプログラム例）

obsnum=y,
tbbgcolr=white,/* inlb :変換前データセットの格納ライブラリ名 */clbgcolr=cyan,/* indt :変換前データセット名 */bgtype=color,/* outlb:変換後データセットの格納ライブラリ名 */bg=white);/* outdt:変換後データセット名 *//* dm 'wbrowse "e:¥temp¥a.html"' ; 出力の確認 */%macro msisoout(inlb,indt,outlb,outdt) ;proc contents data=&inlb..&indt noprint
out =temp0001(keep=name type length format varnum) ;

条件：

run ;

SAS6.12 TS060もしくは、SAS/IntrNetソフトウェアがインストール

proc sort

されていること。

data=temp0001 ;by varnum ;
run ;
data

̲null̲ ;set temp0001 ;メインフレーム上にあるSASデータセットの変数に日

if type=2

本語データがあります。この日本語データはシフトコ

typ= '$' ;

ードがなく、「$KANJIw.フォーマット」を使って表else

示等を行っています。このSASデータセットを他のプラットフォー
ム（PC、UNIX）で使用するため、メインフレームで移送ファイル

typ

then

= '' ;

if format = '$kanji' then do ;を作成して転送したのですが、日本語データは文字化けしています。

leg= length + 2 ;どうすれば良いでしょうか。

flag

= '1'

end ;

;

例）

else do ;leg= length

flag

= '0'

;
;

end ;

下記は3レベルの例です。
1レベル目の効果がSCHOOL, 2レベル目がCLASS, 3レベル目がPUPILという効果を表しています。RANDOMステートメントにおcall symput('hensu'||left(̲n̲),name) ;けるINTという指定は、切片を意味します。なお、MIXEDプロシジ

call symput('type'||left(̲n̲),typ) ;ャでは、デフォルトでREML推定が使われます。

call symput('leng'||left(̲n̲),leg) ;call symput('putk'||left(̲n̲),compress('$kanji'||leg||'.'));

proc mixed data=hlm3 info;

call symput('putc'||left(̲n̲),compress('$char'||leg||'.')) ;class school class pupil;call symput('flg'||left(̲n̲),flag) ;model y = time /s;call symput('cnt',left(̲n̲)) ;random int time / type=un subject=school;run ;random int time / type=un subject=class(school);%msisoadd(inlb=&inlb,indt=&indt,outlb=&outlb,outdt=&outdt) ;random int time / type=un subject=pupil(class school);%mend msisoout ;run;%macro msisoadd(inlb,indt,outlb,outdt) ;data &outlb..&outdt ;%do i = 1 %to &cnt ;下記の本にいくつかの例題が記載されています。
Littell,R.C., Milliken,G.A.,Stroup,W.W.,and Wolfinger,R.D.（1996）「SAS System for Mixed Models」

length &&hensu&i &&type&i &&leng&i ;SAS Institute Inc,Cary,NC,USA.

%end ;（注文番号 55235 価格 ¥7,800）

set &inlb..&indt ;%do i = 1 %to &cnt ;%if &&flg&i = 1 %then

LOGISTICプロシジャを用いて、2要因の交互作用の検&&hensu&i = put(&&hensu&i,&&putk&i)%str(;)

討を行いたいと思います。交互作用のダミー変数はど;のように作成したら良いのでしょうか？

%end ;
format2値応答の場合、一般化線形モデルの枠組みから、%do i = 1 %to &cnt ;GENMODプロシジャを利用し、ダミー変数を作成せず%if &&flg&i = 1 %thenにモデルを当てはめることができます。LOGISTICプ&&hensu&i &&putc&i;

ロシジャでは、分類変数を指定するCLASSステートメントが使用%end ;

できません。しかし、GENMODプロシジャでは、CLASSステート;

メントを利用することが可能です（SASシステム バージョン8では、

run ;LOGISTICプロシジャにおいてもCLASSステートメントが使用でき%mend msisoadd ;る予定となっています）。
例）

実行例）

下記のプログラム例では、LINK関数をロジット、分布は2項分布を

下記のマクロを実行することにより、SASデータセット

仮定しています。TYPE3とWALDオプションを指定して、要因と交INLIB.INDATAを「日本語データをシフトコード付きに変換」し、互作用に対するWald検定を行っています。

SASデータセットWORK.ISODATAとして再作成しています。
/*GENMODプロシジャの実行*/%msisoout(inlb=inlib,indt=indata,outlb=work.outdt=isodata);

proc genmod data=data1 order=data;class a b;/*CLASSステートメントの指定*/

model resp=a b a*b /link=logit dist=binomial wald type3 ;freq w;run;

MIXEDプロシジャにおいて、階層線形モデル（hiearchicallinear models :「マルチレベルモデル」とも呼ばれて下記の本にGENMODプロシジャに関する詳細が記載されています。

いる）
を扱うことができますか？

「SAS/STAT Changes and Enhancements through Release 6.12」（注文番号 55779 価格 ¥8,400）

変量効果を指定するためのRANDOMステートメントを「SAS/STAT Changes and Enhancements for Release 6.12」用いることによって可能です。複数の段階（レベル）を（注文番号 55657 価格 ¥2,000）

指定するには、RANDOMステートメントを複数指定し、
SUBJECT= オプションに上位の効果を含めます。また、TYPE= オ
プションに、変量効果間の分散共分散構造を指定することができます。何も構造を仮定しない場合には、TYPE=UNを指定します。

■SASシステム

各リリースにおける修正点

SASシステムの修正点を、各バージョン／プラットフォームごとに紹介しています。

■Windows 98/Windows 2000対応について

オンラインインフォメーション
サービスのご紹介

Windows 98、および Windows 2000 環境におけるSASシステムの稼動についての情報です。

■プロダクト情報トピックス
テクニカルサポートでは、インターネットを介した情報提供サービ

最新のe-Intelligence Solution Tool を含むプロダクトの情報を掲載

スを行っています。このサービスは技術的な問題解決の手助けを目しています。

的としており、弊社テクニカルサポートサイトにアクセスいただけ
れば、お客様が必要とされている情報やサポートをいつでもすばや■最新リリース情報

くご提供できるようになっています。以下に、テクニカルサポート

SASシステムの最新リリースバージョンを掲載しています。

サイトへのアクセス方法およびそのコンテンツについてご紹介いた■SAS FAQ (Frequently Asked Questions)

しますので、是非ご利用ください

日頃お客さまから寄せられる質問の中で、頻度の高いものとその回

テクニカルサポートサイトへのアクセス

答をジャンル別に掲載しています。

①弊社ホームページ上の[テクニカルサポート]をクリックします。
すると、テクニカルサポートサイトにリンクされます。

■SAS Notes (Version 6)
技術的な情報から製品に関する説明まで、幅広く最新情報を掲載し
ています。
（英語）

ここを
クリック！

■FTPサービス
テクニカルサポートが提供するアップデートモジュールやドキュメ
ント、SASトレーニングで使用している例題データなどの各種情報をダウンロードすることができます。

■電子メールによるテクニカルサポートのご案内
テクニカルサポートセンターでは、従来のファクシミリ
（電話）による受付に加え、電子メールによるご質問を受け付けております。

■SASプログラマーズ・ワークショップのご案内
弊社ホームページ トップ画面
http://www.sas.com/japan/

弊社では、SASシステムのユーザを対象に、技術的な問題点についての説明会として「SASプログラマーズ・ワークショップ」を定期的に開催しております。

②テクニカルサポートサイトでは、下記にご紹介するような多彩なコンテンツをご用意しています。ここから、お客様が必要とし■インストールサービスのご案内ている情報が掲載された各サイトへリンクします。

SASシステムプロダクトは、お客さまにより容易にインストールできますが、有償で出張インストールサービスも承っております。
今回は、このように数あるオンラインインフォメーションサービスの中でも特にお勧めのSAS FAQ（Frequently Asked Questions）
をご紹介いたします。弊社テクニカルサポート窓口には毎日さまざま
なお問い合わせが寄せられますが、その中で頻度の高い質問とその回答をこのサイトに掲載しています。問題発生の際には、いつでもすばやく解決策を見つけられるようお役立ていただけます。

テクニカルサポートサイト

FAQ (Frequently Asked Questions) サイト
へのアクセス
①テクニカルサポートサイト上の［SAS FAQ（Frequently Asked
Questions）］をクリックします。すると、テクニカルサポート

SAS Notes (Version 6) サイトへのリンク①テクニカルサポートサイト上の［SAS Notes（Version 6）］をクリックします。すると、SAS Notes使用方法について説明された米国本社のサイトにリンクされます。

FAQサイトにリンクされます。

ここを
クリック！

ここを
クリック！

②このページから分野別にFAQ一覧を表示させることができますの②Search the Technical Support Siteサイトで検索を開始します。

で、ご質問に関連した分野をクリックします。一覧の中にご質問の内容と一致するFAQがあれば、そちらを参照し、問題解決にお役立てください。

インストールに関するFAQ一覧

新規／変更された
FAQ一覧

各プラットフォーム
におけるFAQ一覧

各SASプロダクト
FAQ一覧

オンラインヘルプ使用に関するFAQ一覧

SAS製品以外についてのFAQ一覧

FAQサイトSAS Notes（Version 6）
サイト

また、米国本社のテクニカルサポートで提供しているSAS Notes（Version 6）も大変便利ですので、併せてご紹介いたします。このサ
イトはすべて英語で書かれていますが、技術的な情報から製品に関する説明まで幅広い情報を検索できるようになっています。

す。また本書ではロジスティック回帰モデルの多くの普遍化の共通点および相違点が説明されています。バイナリロジット分析、分割
表のロジット分析、多項ロジット分析、規則正しいロジット分析、
PHREGプロシジャを用いた離散選択分析、Poisson分析に関するト
ピックも含まれています。その他には対数線形分析や長期的なバイ

新刊マニュアルのご紹介

ナリデータのGEE推定をするためのGENMODプロシジャの使用法についても記載されています。SAS DATAステップについての基礎的な知識のある方を対象としています。

前回の Technical Newsで紹介しきれなかった、SASより既に発売された新刊マニュアルをご紹介します。なお、こちらに記載する価格はすべて税抜きです。ご購入については、専用のお申し込み用紙
にてFAXで弊社「マニュアル販売係」までお申し込みください。
TEL：03-3533-3835

FAX：03-3533-3781

E-mail：booksale@jpn.sas.com
なお、最新のマニュアル案内は弊社ホームページ(http://www.sas.com/japan/)にて公開しておりますのであわせてご利用ください。

Enterprise Minerソフトウェア:
入門ガイド, First Edition●注文番号 : 16543（日本語版）●価格: 3,000円

Enterprise Minerソフトウェアは、データマイニングプロセスのすべての機能が統合されたパッケージソフトウェアです。本書は、Enterprise Minerソフトウェアで提供する基本的な機能を、初心者向けに説明したものです。各機能の概略と操作例を説明しています。
これにより、各機能の操作方法と役割を習得することができます。
本書は、「Getting Started with Enterprise Miner Software（注文番号56543）」を翻訳したものです。

SAS/Warehouse Administrator Release 1.3
ユーザーズガイド, First Edition●注文番号 : 16029（日本語版）●価格: 7,800円

このユーザーズガイドは、1つのコントロールポイントでより簡単にプロジェクトを管理するツールであるSAS/Warehouse
Administratorソフトウェア リリース1.3の機能について解説しています。ウェアハウスとサブジェクトの定義の方法、データの要約・検索・変換、要約データの更新、メタデータの作成・管理・表示について学びたい方に最適です。また、ウェアハウス環境の設定についての解説もあります。本書は、ウェアハウスデータツール管理者とPCプラットフォームでのBase SASソフトウェアについての知識をお持ちのユーザを対象に記載されています。本書は、「SAS/Warehouse Administrator User's Guide, Release 1.3, First
Edition（注文番号 56029）」を翻訳したものです。

Logistic Regression Using the SAS System:
Theory and Application●注文番号 : 55770（英語版）●価格: 7,500円

多重線形回帰の経験があり、ロジスティック回帰について学ぼうと思っている方にとって本書は最適です。本書は形式ばって記述された専門書ではなく、本書ではロジスティック回帰の背後にある理論を説明し、SASシステムに関連した実用的な詳細について記載されています。いくつかの社会科学の実在の例が詳細に記載されていまSASトレーニングのお知らせ

最新リリース情報

新コースのご紹介!
●実践データハンドリングコース（1日）■PCプラットフォーム

明日からの業務で利用可能なプログラミング例を多数交えて解説します。

●マクロ言語上級コース（1日）

Windows版

SASシステムリリース 6.12

インターフェースでの応用的な使い方を解説します。

OS/2版

SASシステムリリース 6.12

TS020

●統計概論コース（1日）

Macintosh版

SASシステムリリース 6.12

TS040

TS060

統計の基本的な考え方と検定の基本パターンを講義形式で解説します。

イブニングスクール開催!
第2回イブニングスクールは、お客様からのリクエストが最も多かった混合モデルによる解析のトレーニング「分散分析の発展、混合モ■ミニコンピュータプラットフォーム
OpenVMS AXP版 SASシステムリリース 6.12

TS020

OpenVMS VAX版 SASシステムリリース 6.08

TS407

デル導入」コースとして、7月2週に渡り「イントロシリーズ」、同
じく9月2週に渡り「反復測定シリーズ」とし、シリーズごとに解説■UNIXプラットフォーム

します。混合モデルによる解析を行うためにGLMプロシジャと
MIXEDモデルの概要や違いをはじめ、使用例を交えながら解説します。
お席に限りがございますのでお早めにお申込下さい。
（なお、SASイ
ンスティチュートジャパン東京本社のみ開催で、実機は使用しません。）

MIPS ABI版

SASシステムリリース 6.11

TS040

Digital Unix版

SASシステムリリース 6.12

TS040

ABI+版

SASシステムリリース 6.11

TS040

●イントロシリーズ

SunOSおよびSolaris版 SASシステムリリース 6.12

TS060

7/21(金) ・ 7/28(金) 19:00〜21:00

HP-UX版

SASシステムリリース 6.12

TS060

講義内容：「MIXEDモデルの定義と概要」「乱塊法について」「交AIX版

SASシステムリリース 6.12TS020

互作用について」混合モデルの導入を乱塊法のデザインを例に紹介
し、MIXEDプロシジャの使用例をGLMプロシジャと比較しながら■メインフレームプラットフォーム

学びます。また、交互作用項が存在する状況における対比の記述の方法を学びます。

MVS版

SASシステムリリース 6.09E TS470

前提知識：分散分析を受講済の方、統計知識のある方、MIXEDプロ

MSP版

SASシステムリリース 6.09E TS470

シジャで解析をされたい方一因子完全無作為化、二因子の乱塊法とVOS3版

SASシステムリリース 6.09E TS470

いった分散分析の理解をしている方、混合モデルによる解析を必要

CMS版

SASシステムリリース 6.08とされる方受講対象は分散分析を理解頂いている方で、これから混合モデルを学ぼうと思われている方となります。
受講料金：20,000円（消費税別途）●反復測定シリーズ
9/22（金）・ 9/29（金）19:00〜21:00
講 義 内 容 ： 「経時データの解析の概要」「between-subject,
within-subject effects(被験者間要因・被験者内要因)」「共分散構造」など、経時データの解析をGLM、MIXEDの2つのプロシジャを使いながら学びます。
前提知識：「イントロシリーズ」と同様
受講料金：20,000円 （消費税別途）

お問合せ先 :トレーニング担当

TEL
03-3533-3835
FAX 03-3533-3781
E-mail training@jpn.sas.com
URL http://www.sas.com/japan/

TS410

SAS Technical News
Summer 2000
発行
株式会社SASインスティチュートジャパン
テクニカルニュースに関するお問い合わせ先
テクニカルサポートグループ

TEL:03-3533-3877
FAX:03-3533-3781
E-mail:technews@jpn.sas.com

東京本社〒104-0054
東京都中央区勝どき1-13-1
イヌイビル・カチドキ 8F

大阪支店〒530-0004
大阪市北区堂島浜 1-4-16
アクア堂島西館 12F

九州営業所〒802-0001
北九州市小倉北区浅野 2-14-1
小倉興産KMMビル 3F

Tel 03 (3533) 6921
Fax 03 (3533) 6927

Tel 06 (6345) 5700
Fax 06 (6345) 5655

Tel 093 (512) 5014
Fax 093 (512) 5016

株式会社 SAS インスティチュート ジャパン

www.sas.com/japan/

このカタログに記載された内容は改良のため、予告なく仕様・性能を変更する場合があります。あらかじめご了承ください。
SASロゴ、The Power to Knowは米国SASインスティチュートの登録商標です。その他記載のブランド、商品名は、一般に各社の登録商標です。 Copyright c 2000, SAS Institute Inc. All rights reserved.