特集SAS Open Metadata
Architecture運用入門
SAS Open Metadata Architecture運用入門

1. はじめに−メタデータリポジトリの管理運用
今号の特集では、前号のSAS Technical News（2005年春号）の特集「OpenQ&A

Metadata Architecture入門」の内容からさらに発展し、メタデータ環境を

新刊マニュアルのお知らせて紹介します。また、テクニカルサポートへお問い合わせの多い事例や問管理・運用する方が実際の運用において必要とされる、次の5項目につい題発生時のトラブルシューティング時に確認すべき点も併せて紹介します。

SASトレーニングのお知らせ● ユーザーの管理● メタデータ操作の監査履歴最新リリース情報● ログ管理● よくあるトラブルと対処法● メタデータのバックアップ

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

2. SAS Open Metadata Architectureのユーザー管理SAS® Open Metadata Architecture（以下OMA）の認証機能を利用するために、メタデータリポジトリにユーザーを登録し、定期的にメンテナンスする必要があります。ユーザー登録には、2通りの方法があります。1つは、SAS管理コンソールのユーザーマネージャを利用して、手作業で管理する方法です。もうひとつは、バルクロードマクロを利用して、認証プロバイダ
から情報を抽出し、一括登録する方法です。

2.1 SAS管理コンソールでのユーザー管理
SAS管理コンソールのユーザーマネージャプラグインを利用することで、・ Synchronizing Imported Identities
http://support.sas.com/rnd/eai/openmeta/v9/setup/syncmacros.html

Metadata上のユーザーを管理することができます。GUIにより簡便にユーザーの登録・管理が行なえます。登録されたログイン情報の閲覧は、無制

それぞれのマクロの構文については、次のURLをご参照ください。

限ユーザーである場合、またはログインの所有者（ユーザー本人）である場

・ SAS 9.1.3 Metadata Server: Setup and Administration Guide,

合に限定されます。

Bulk-Load Macros: Reference
http://support.sas.com/rnd/eai/openmeta/v9/setup/macrosref.html

2.3 規定アカウントのパスワードの変更管理
SAS OMAの、下記の4つの規定アカウントについては、設定ファイルにパスワードが埋め込まれています。
● 管理ユーザー（sasadm）● 信頼ユーザー（sastrust）● 一般サーバーユーザー（sassrv）● Web管理ユーザー（saswbadm）
そのため、規定アカウントのパスワードを、OSまたは認証プロバイダ上で変更する場合、
メタデータリポジトリ内に格納されたアカウントのパスワー
ドも変更する必要があります。ここでは、規定アカウントのパスワードを、認証プロバイダで変更した場合に行なうべき手順についてご紹介します。
（1）SAS Metadata Server以外の全てのSASサービスを停止します。
図 1 ユーザーマネージャ（2）OSもしくは認証プロバイダ上で、パスワードを変更します。
（3）メタデータリポジトリ内のパスワードを変更します。

2.2 バルクロードマクロによるユーザー管理

SAS管理コンソールに無制限ユーザー（sasadm）でログオンします。

SASの提供する自動呼出しマクロを利用することで、煩雑なユーザー管理
作業の手間を軽減します。バルクロードマクロにより登録可能なメタデー

a. 以下の3つのアカウントのパスワードを変更します。

タタイプは、パーソン、
グループ、認証ドメイン、ログイン、ロケーション、電
話番号、電子メールアドレスの7種類です。ここでは手順の概要のみご紹アカウント介します。詳細につきましては、各手順に記載するURLにてご確認ください。

sassrv［ユーザーマネージャ］→［SAS General Servers］→［ログイン］

saswbadm［ユーザーマネージャ］→［SAS Web Administrator］→［ログイン］

sasguest［ユーザーマネージャ］→［SAS Guest］→［ログイン］

なお、
リンク先ドキュメントは英語になります。

パスワードの設定場所（1）認証プロバイダからユーザー/グループ等の登録情報を抽出する
・ Extracting User and Group Definitions from the Enterprise Sourceb. Web Report Studioを利用している場合には、［環境管理］→［ビ

http://support.sas.com/rnd/eai/openmeta/v9/setup/importmacros.html

ジネスレポートマネージャ］→［BIP Tree］→［プロパティ］→［一般］※ 認証プロバイダにMicrosoft Windows Server 2003 Active Directory を検討されている場合、テクニカルサポートまでお問い合わせください。

→［コンテンツサーバー認証］→［パスワード］の箇所を変更します。
c. SAS Information Delivery Portalを利用している場合には、（2）%MDUIMPCマクロを利用して、インポートしたいユーザー/グループ［ファンデーションサービスマネージャー］→［ID Portal Local Services］

定義情報を含んだ基準テーブルを作成する→［BIP Local Services OMR］→［BIP User Service］→［プロ・ Creating the Master Canonical Tables

パティ］→［サービス構成］→［構成の編集］→［ユーザー］→

http://support.sas.com/rnd/eai/openmeta/v9/setup/importmacros.html#create（3）%MDUIMPLマクロを利用して、基準テーブルからメタデータリポジトリ

sastrustアカウントを選択→［編集］→［パスワード］の箇所を変更します。

に情報を登録する・ Loading and Updating Identities on the SAS Metadata Server
http://support.sas.com/rnd/eai/openmeta/v9/setup/load.html（4）各種設定ファイル内の埋め込みパスワードを変更します。
a. パスワードをエンコードします。パスワードをエンコードするには、
PWENCODEプロシジャを利用します。

ユーザー情報は更新されるケースがありますので、定期的なメンテナンスが必要となります。メンテナンスは以下のような手順で行ないます。

例）新しいパスワードの文字列が sastrust1 の場合（1）認証プロバイダからユーザー/グループ定義情報を抽出する

PROC PWENCODE IN="sastrust1" ;（2）%MDUEXTR、%MDUCMP、%MDUCHGVマクロを利用して、RUN ;追加・更新・削除された情報を、リポジトリ内の定義情報と比較する（3） %MDUCHGLマクロを利用して、変更された情報をリポジトリに反映させるログファイルにエンコードされた文字列が表示されます。

3. メタデータ操作の監査履歴
3.1 メタデータの監査履歴

ログの例）

メタデータに対して行なった変更作業の履歴を取得することが可能です。
また、この履歴情報を利用してメタデータのリストアを行なうことが可能です。

1

PROC PWENCODE IN="sastrust1" ;

2

RUN ;

{sas001}c2FzdHJ1c3Qx

3.2 設定方法
SAS管理コンソールを利用して設定します。
［環境管理］→［メタデータマネージャ］→［アクティブサーバー（サーバー名:
ポート番号）］→［（リポジトリ名）］→［監査］を選択します。
［監査のプロパティ］

b. 各種設定ファイル内の必要な箇所のパスワードと入れ替えます。
詳細な変更箇所については、次のマニュアルに記述があります。

ウィンドウが表示されるので、このウィンドウを使用して、選択したリポジトリに対して実行する監査の種類と、監査ファイルの保存場所を指定します。

・SAS 9.1.3 Intelligence Platform: Administration Guid CHAPTER 7 User ID and
Password Management P.53
http://support.sas.com/documentation/onlinedoc/91pdf/sasdoc̲913/intell̲ag̲9129.pdf（5）SAS WEBアプリケーションの再構成と再デプロイを行ないます。方法については、それぞれのアプリケーションのユーザーズガイド（英語）を参考にしてください。
・SAS Web Report Studio
SAS 9.1.3 Intelligence Platform: Administration Guide CHAPTER 17 Administering
SAS Web Report Studio "Redeploying SAS Web Report Studio" P.283

図 3 監査のプロパティ

http://support.sas.com/documentation/onlinedoc/91pdf/sasdoc̲913/intell̲ag̲9129.pdf
・SAS Information Delivery Portal［監査を使用可能にする］

Redeploying the Portal Web Application"

選択したリポジトリへの監査を有効化する場合には、
このチェックボックス

SAS Web Infrastructure Kit: Administratorﾕs Guide

を選択します。

http://support.sas.com/rnd/itech/doc9/portal̲admin/admintools/ag̲portalconintro.html［監査の種類］

・SAS Web OLAP Viewer for Java

実行する監査の種類を指定します。選択可能な値は次のとおりです。

SAS Web OLAP Viewer for Java Deployment Guide<install>¥SASWebOlapViewerforJava¥<version>¥config.pdf
・SAS BI Web Services for Java

監査の種類

説明

追加情報

リポジトリに追加されたすべてのメタデータの監査レコードが監査証跡に書き込まれます。

README: SAS BI Web Services for Java
<install>¥Web¥WebServicesforJava¥1.0¥xmla̲readme.html（6）全てのサービスを起動します。

2.4 一般ユーザーのパスワードの変更管理

リポジトリに追加されたメタデータ、
リポジトリで変更されたメタすべて追加、
データ、
リポジトリから削除されたメタデータの監査レコードが変更、削除
監査証跡に書き込まれます。

削除情報

リポジトリから削除されたすべてのメタデータの監査レコード
が監査証跡に書き込まれます。

更新情報

リポジトリで更新されたすべてのメタデータの監査レコードが監査証跡に書き込まれます。

管理者ユーザーではない、通常のユーザーがメタデータリポジトリに格納されたパスワードを個別に変更したい場合には、SAS® Personal Login
Managerを利用します。SAS Personal Login Managerを利用することで、ユーザーは、
メタデータリポジトリ内の自分自身のパスワード情報を変表1 監査の種類

更することが可能です。SAS管理コンソールを利用しない、一般ユーザー
はこのプロダクトをインストールしておきます。

3.3 記録の解釈
監査記録は、指定したディレクトリにメタデータタイプ別にデータセットとして保存されています。
変数名

図 2 SAS Personal Login Manager

説明̲ATYPE̲

監査タイプ

値"N" … 新規データレコードイメージの追加"D" … データレコードイメージの削除"B" … データレコードイメージ前の更新"A" … データレコードイメージ後の更新

̲ATID̲

監査トランザクションID

GUID

̲ATIME̲

監査トランザクション時間

トランザクション発生時間

DELETED

削除されたレコードのステータス

̲ATYPE̲ が"D"の場合、削除された日の日時が記録されます。

表2 監査テーブルの変数

3.4 監査履歴のリストア'5' || '00'x ||SAS 9.1では、SASプログラムでリストアする以外の方法はありません。また、'J' || '00'x ||リストアを行なう場合には、事前にリポジトリを一時停止しておく必要があります。

'Z' || '00'x ||一時停止を行なうには、管理コンソールにて操作するかMETAOPERATEプ'B' || '00'x ||ロシジャのACTIONステートメントでRESUMEを発行します。

'Y' || '00'x ||'C' || '00'x ||（1）稼働中のSAS Metadata Serverを停止します。

'7' || '00'x ||（2）監査証跡をリストアします。

'.' || '00'x ||a. SASを起動し監査証跡が保存されたパスにライブラリを割り当てます。

'A' || '00'x ||'1' || '00'x ||/* 監査証跡ライブラリの定義 */'0' || '00'x ||LIBNAME audit 'Lev1¥SASMain¥MetadataServer¥audit¥repos1';'0' || '00'x ||'0' || '00'x ||'0' || '00'x ||リストア対象のエントリのIDを特定します。
b. PRINTプロシジャを利用して、'0' || '00'x ||'2' || '00'x ;/* リストア対象のエントリIDの確認 */DELETED = . ;IF ID = find THEN OUTPUT;

PROC PRINT DATA=audit.person;run;

VAR clasname id objname ldesc deleted;
RUN;/* 選択された監査証跡を表示します */PROC PRINT DATA=work.select;c. リポジトリに監査証跡をリストアします。

VAR clasname id objname ldesc deleted;
RUN;/* メタデータタイプ Person のリストア例 *//* 選択された監査証跡をリポジトリにリストアします *//* リポジトリライブラリ定義 */DATA repos.person;

LIBNAME
repos 'Lev1¥SASMain¥MetadataServer¥MetadataRepositories¥Foundation';

SET repos.person work.select;
RUN;/* リストアする監査証跡の選択 *//* DELETEDフィールドを欠損値にすることにより、レコードを有効にします。 */（3）SAS Metadata Server を起動します。

DATA work.select(DROP=find);

詳細については、以下のURL（英語）をご参照ください。

SET audit.person(DROP=_ATYPE_ _ATIME_ _ATID_ );/* エントリ'A5JZBYC7.A1000002'を検索します */http://support.sas.com/rnd/eai/openmeta/v9/setup/audit.html
http://support.sas.com/onlinedoc/913/getDoc/ja/omaug.hlp/auditover.htm

find='A' || '00'x ||4. ログ管理
4.1 ログの種類と設定方法
SAS Open Metadata Architecture は、多層からなる

4.1.1. SASアプリケーション層のログ

エンタープライズシステムです。この章では、SASアプリケーション層、OMAを構成する各種サーバーから出力されるログファイルは、

Web層それぞれのログの保存場所と設定方法についてご紹介します。

以下の表のようになっています。

サーバー

標準出力

標準出力先

設定方法

ローテーション

SAS Metadata Server○

Lev1¥SASMain¥MetadataServer¥logs

１日単位（変更可能）

設定ファイルLev1¥SASMain¥MetadataServer¥
sasv9̲MetadataServer.cfg

SAS Workspace Server

×ー（変更可能）

SAS管理コンソール

SAS Stored Process Server○

Lev1¥SASMain¥StoredProcessServer¥logs

セッション毎（変更可能）

設定ファイルLev1¥SASMain¥MetadataServer¥
sasv9̲MetadataServer.cfg

SAS OLAP Server○

Lev1¥SASMain¥OLAPServer¥logs

１日単位（変更可能）

設定ファイルLev1¥SASMain¥OLAPServer¥
sasv9̲OLAPServer.cfg

SAS Object Spawner○

Lev1¥SASMain¥ObjectSpawner¥logs

セッション毎（変更可能）

設定ファイルLev1¥SASMain¥ObjectSpawner¥
ObjectSpawner.bat

SAS Connect Server○

Lev1¥SASMain¥ConnectServer¥logs

セッション毎（変更可能）

設定ファイルLev1¥SASMain¥ConnectServer¥
ConnectServer.bat

表 3 SASサーバーのログ ※ Windowsでサービスとして登録している場合には、設定変更後、サービスの再登録が必要です。

SAS Workspace Server のログは初期状態では出力されません。出力

記述例

するには、次のように設定します。
SAS管理コンソールを利用し、［環境管理］→［サーバーマネージャ］→

sas -config "c:¥SAS¥9.1¥Lev1¥SASMain¥sasv9.cfg"［サーバー名）］→［サーバー名-論理Workspace Server］→［サーバー"C:¥SAS¥9.1¥Lev1¥SASMain¥WorkspaceServer¥logs¥WorkspaceServer_

名 ̲ Workspace Server］→［プロパティ］→［オプション］→［起動コマン%Y%m%d.log" -logparm "rollover=auto open=replaceold"

-log

ド］
とたどります。
［コマンド］にロギングオプションを追加します。記載すべきロギングオプションは、「表4 ロギングオプション」を参考にします。

※すべて一行で記述します。

ロギングを有効にする際に利用するオプションは次の通りです。
システムオプション名

説明

LOG

LOGファイルの保存先を指定します。
"saslog̲#Y#m#d.log"#Yで西暦、#m で月、#bで英語月、#dで日を動的に取得
してログ名に含めることが可能です。

LOGPARM

ファイ ル の オ ー プ ンとクロ ー ズ を 指 定します 。
"WRITE=IMMEDIATE"と指定することで、リアルタイムに出力します。指定しない場合にはメモリに展開されます。サーバーを連続で運用する場合には、ログのローテーションを指定できます。"ROLLOVER=AUTO" とすることで、１日単 位でログファイルを生 成します。
OPEN=REPLACEOLD と指定することで、サーバー停止後、同日にサーバーを再起動した場合に、同日のログファイルに追記してログを出力します。

PAGESIZESASアウトプットの行数を指定します。ログにヘッダの出力頻度を下げるため、 MAX を推奨します。

LINESIZESASアウトプットの横幅を指定します。ログの改行を避けるため、 MAX を推奨します。

表 4 ロギングオプション
図 4 Workspace Server のプロパティ

4.1.2. WEB層のログ
WEBサーバーに配置されるアプリケーションのログは次のとおりです。
SAS WEBアプリケーション

標準出力

標準出力先

ローテーション

設定ファイルSAS Remote Services○

Lev1¥web¥Deployments¥RemoteServices¥logs

なし（標準）

Lev1¥web¥Deployments¥RemoteServices¥Logging̲config̲svc.xml

SAS Information Delivery Portal○

Lev1¥web¥Deployments¥Portal¥logs

なし（標準）

Lev1¥web¥Deployments¥Portal¥Logging̲config̲idp.xml

SAS Web Report Studio○

Lev1¥web¥Deployments¥WebReportStudio¥logs

なし（標準）<install>¥SASWebReportStudio¥2.1¥config¥
DefaultLoggerProperties.xml.orig

表5 SAS WEBアプリケーションのログ

4.2 ログの解釈

OpenRepository

デフォルトログの解析

RepositoryFormat=5, Model=5.01.

ログには、
「日付、
タイムスタンプ、スレッドID、
クライアントID、処理要求を

20050624:09.41.41.60: 00000006:

行なったドメイン識別子付きユーザーID」の順で、各イベントに対する基SAS version 9.01.01M3P021605.

礎情報が提供されます。続けて、発生したイベントの内容が記述されます。

20050624:09.41.41.60: 00000006:

Id=A5RGHTAS,

Name=Foundation,:SYSTEM@NT AUTHORITY::SYSTEM@NT AUTHORITY:

SAS Metadata Server initialization.
次のログはSAS Metadata Serverが正常に起動したログの例です。

20050624:09.41.41.60: 00000006::SYSTEM@NT AUTHORITY:

SAS Metadata Server Model 5.01.
20050624:09.41.36.84: 00000006::SYSTEM@NT AUTHORITY:

SAS Metadata Authorization Facility Initialization.
20050624:09.41.36.84: 00000006::SYSTEM@NT AUTHORITY:SYSTEM@NT AUTHORITY is an adminUser.
20050624:09.41.36.85: 00000006::SYSTEM@NT AUTHORITY:

SASTRUST@JPNXXX is a trustedUser.
20050624:09.41.36.86: 00000006::SYSTEM@NT AUTHORITY:

SASADM@JPNXXX is an unrestricted adminUser.
20050624:09.41.38.04: 00000006::SYSTEM@NT AUTHORITY:

20050624:09.41.41.60: 00000006::SYSTEM@NT AUTHORITY:

SAS Metadata Server current directory c:¥SAS¥9.1¥Lev1¥SASMain.

次のログはSAS Metadata Server が停止したログの例です。
20050624:17.29.36.76: 00001573::SYSTEM@NT AUTHORITY:

CloseRepository Id=A5RGHTAS, Name=Foundation.
20050624:17.29.36.77: 00001573:

次のログはメタデータ操作に失敗した際のログの例です。
20050624:20.52.02.68: 00001447::SYSTEM@NT AUTHORITY:

20050624:20.52.02.68: 00001447:

CloseRepository Id=A0000001, Name=REPOSMGR.

DoRequest return code=807fe83c....

20050624:17.29.36.77: 00001573:

20050624:20.52.02.68: 00001447::SYSTEM@NT AUTHORITY: SAS

Metadata Authorization Facility Termination.
20050624:17.29.36.77: 00001573:

100:SASADM@JPNXXX:

UpdateMetadata return code=807fe83c....
100:SASADM@JPNXXX:

100:SASADM@JPNXXX: The

object cannot be added to the container TMP000.proptype.DATA.

:SYSTEM@NT AUTHORITY: SAS

Metadata Server termination.
上記のログに関しては、以下のURLにて詳しい情報を紹介しています。
http://support.sas.com/rnd/eai/openmeta/v9/setup/saslog.html
次のログはSAS Metadata Server がクライアントから接続要求を受けたログの例です。このログには接続してきたユーザーのドメイン識別子付きID、

4.3 デバッグオプション

I Pアドレス、ポート番 号が表 示されます。送 付されたパスワードは、

トラブルシューティングのために、ログ採取レベルを上げることが可能です。

sasproprietary方式で暗号化されたことを通知しています。

しかしながら、
これらのログレベルを上げることにより、パフォーマンスの低下等が発生する可能性があります。これらのオプションを運用環境で利用

20050626:14.43.37.41: 00001557:

New client connection (105)

accepted from server port 8561 for user sasadm@JPNXXX. Encryption

することは推奨しません。あくまで、問題発生時のトラブルシューティング目
的にのみに利用します。

level is Credentials using encryption algorithm sasproprietary.
Peer IP address and port are 172.26.27.81:1666.

4.3.1 認証イベントのロギング
認証イベントのログトレースの範囲を拡張する際には、APPLEVEL=オプションを設定します。

次のログは接続していたユーザーが切断したときのログです。
20050626:15.23.24.58: 00000005:

APPLEVEL=2

クライアントから要求されたクレデンシャル取得・開放についての情報をログ出力します。

APPLEVEL=3

APPLEVEL=2の情報に加えて、PUBLICグループに分類されるメタデータリポジトリに未登録のユーザーの認証情報についてもログ出力します。

Client connection (105) closed.

セッション中のクライアント接続IDは一意になります。したがって、
クライア
ントのログオンイベント発生時から、ログオフイベント発生時まで、当該接続IDのクライアントがログオンしていたことが分かります。

APPLEVEL=オプションを設定するには、SAS Metadata Serverの起動
コマンドのobjectserverparamsに、以下のようなオプションを追加します。

※注意
切断時のログに、次のようなエラーメッセージが表示されることがあります。

-objectserverparms

applevel=2

これは、接続ユーザーが無通知でサーバーから切断したことを示しています。
このエラーメッセージは無視してかまいません。
詳細については、以下のマニュアルで確認できます。
20050626:15.22.38.44: 00001631:ERROR:

tcpSockRead コールに失敗しました。システ

ムエラーは、'The connection was reset by a peer.' です。
20050626:15.22.38.44: 00001631:NOTE:

Bridgeプロトコルエンジンのソケットアクセス

・SAS 9.1.3 Metadata Server: Setup and Administration Guide,

Invoking

the SAS Metadata Server Log
http://support.sas.com/rnd/eai/openmeta/v9/setup/saslog.htmlのメソッドは、 ソケットからの読み取りに失敗しました。error 10054 (The connection was
4.3.2 イベントのキャプチャ

reset by a peer.).
20050626:15.22.38.44: 00001631:

Client connection (37) closed.

Workspace ServerのSASログやIOMイベントのトレースを行なう場合にIOMLEVELを指定します。デフォルトでは、IOMLEVEL=1に設定されています。

このエラー情報については以下のSAS Noteで紹介されています。
・ SN-012210 Error: The tcpSockRead call failed. The system error is 'The
connection was reset by a peer. Note: Bridge protocol engine socket access

IOMLEVELを設定するには、SAS Metadata Serverの起動コマンドのobjectserverparamsに、以下のようなオプションを追加します。

method failed to read from socket in metadata server log
http://support.sas.com/techsup/unotes/SN/012/012210.html-objectserverparms "iomlevel=2"

詳細については、以下のURLで確認できます。
・Object Server Parameters
http://support.sas.com/rnd/itech/doc9/admin̲oma/sasserver/iombridge/sp̲objserv.html

4.4 ARM ログの取得

ARMログの詳細については、以下のマニュアルを参照してください。

Application Response Measurement（ARM）は、Open Groupの提唱

・ SAS 9.1.3 Metadata Server: Setup and Administration Guide Using theする、アプリケーションのパフォーマンス測定のためのオープンスタンダー

ARM̲OMA Subsystem

ド規格です。SASは、
このARMに準拠したログを出力することが可能です。

http://support.sas.com/rnd/eai/openmeta/v9/setup/armlog.html

ARMの詳細は、Open Groupのホームページ（英語）をご参照ください。

5. よくあるトラブルと対処法

http://www.opengroup.org/management/arm/

よくあるトラブルとその際に確認すべき点についてご紹介します。

4.4.1 ARMログの設定方法

ケース1）Metadata Serverが起動しない

SAS Metadata Serverの起動コマンドに、以下のようなオプションを追加

・ Metadata Server 起動コマンドに間違いがないか確認してください。

します。

・ Metadata Server 起動コマンドにログオプションが省略されていないか確認してください。

オプション名説明

ARMSUBSYS

ARMロギングの有効・無効を設定します。有効にするには ARM̲OMA 、無効にする場合には、 ARM̲NONEと指定します。

ARMLOCARMログファイルの出力先を指定します。

ARMAGENT

各ベンダーが実装したARM APIの実行モジュールのパスを指定します。SAS Metadata Serverのデフォルトは、
sasarmmg.dll です。

・ Metadata Server 起動コマンドにAPPLEVEL=0が指定されていないか確認してください。
・ Metadata Serverのホスト上で、通常のSASセッションが起動できるか確認してください。ライセンスが失効している場合や、起動の初期化に失敗している可能性があります。
ケース2）クライアントからMetadata Serverに接続できない
・ 入力したホスト名とポート番号が正しいことを確認してください。
・ Metadata ServerがWindows環境の場合、Metadata Serverを起動

表 6 ARMログのオプション

するアカウントに「オペレーティングシステムの一部として機能」の権
指定例

限が付与されているか確認してください。
・ Metadata ServerがWindows環境の場合、接続アカウントに「バッチ-armsubsys "(arm_oma)" -armloc 'omaarmlog.log'

ジョブとしてログオン」の権限が付与されているか確認してください。詳細は以下のURL（英語）で確認してください。
・Setting System Access Permissions

4.4.2 ARMログの解釈

http://support.sas.com/rnd/eai/openmeta/v9/setup/sysperms.html

ARMログには7種類の形式があります。それぞれは、ログ行の最初の1文字で判断します。

・ Metadata ServerがUNIX環境の場合、
インストールプロセスでroot
アカウントのパスワードを与えなかった場合など、必要なファイルの権限を取得できない場合があります。その際には、SASSetupを利用して

識別文字

ログタイプ

説明

I

Initialize Record

セッション開始を記録します。

G

GetID Record

G GetID Record メソッド、関数、XMLリクエ
ストのトランザクションを記録します。
トランザ
クション名はType::Method で表現されます。

Configure User Authentication を実行してください。詳細は以下のURL（英語）で確認してください。
・Setting System Access Permissions on UNIXhttp://support.sas.com/rnd/eai/openmeta/v9/setup/sysunix.html
・ Metadata ServerがWindows環境の場合、ログオンする際には必ずS

Start Record

ARMトランザクション（OMAメソッドコール、関数コール、XMLリクエスト）の個々のインスタン
スの開始を記録します。メタデータタイプ、
メソ
ッド、関数名は metadata̲type::method またはmetadata̲type::functionで表現されます。

ドメイン識別子付きユーザーIDを利用してください。
例：
machineName￥userid（ドメイン非参加:localhostのOS認証ユーザー）
domainName￥userid（NTドメインユーザー）

C

Start Correlated
Transaction
RecordARMサブトランザクションインスタンスを記録します。ARMトランザクションからコールされた個々のメソッドのインスタンスの開始を記録します。メタデータタイプ、メソッド、関数名はm e t a d a t a ̲ t y p e : : m e t h o dもしくはmetadata̲type::functionで表現されます。
更新情報が記録されます。

U

Update RecordP

top Record

ARMトランザクションインスタンスの終了を記録します。

E

End Record

セッション終了を記録します。

vvvvvvuserid@domainName（Active Directory認証ドメインユーザー）
ケース3）Workspace ServerやStored Process Serverに接続できない・ Object Spawner が稼動しているか確認してください。
Object Spawnerは、クライアントからの要求を受けてWorkspace Server
やStored Process Server を起動します。
Windowsでは、［コントロールパネル］→［管理ツール］→［サービス］にて、サービス SAS Lev1 OB-（構成名） が「開始」になっているか確

表 7 ARMログの解釈認します。もしくは、
タスクマネージャで、プロセスobjspawn.exe の存

ARMログの解釈はそのままでは容易ではない場合があります。その場合に確認します。プロセスが存在しない場合は、Object Spanwerのログファ

は、デフォルトで提供されている %ARMCONV マクロを利用して、SAS8.2

イルを解析します。

在を確認します。UNIXでは、psコマンドでプロセスobjspawnの存在を形式のログに変換することが可能です。ARMログに関するマクロは他にもいくつか提供されています。詳細は、「SAS Language Reference: Dictionary」の「SAS ARM Macros」の項目をご参照ください。

ケース4）Workspace Serverが起動できないパラメータの詳細は次のとおりです。

・ Workspace Serverの起動コマンドの内容が正しいか確認してください。
SAS管理コンソールを利用し、［環境管理］→［サーバーマネージャ］→

パラメータ

説明と指定例
説明：
バックアップの保存先を指定します。

［サーバー名］→［サーバー名-論理Workspace Server］→［サーバー名 ̲ Workspace Server］→［プロパティ］→［オプション］→［起動コマンド］とたどります。起動コマンドの記述に誤りがないか確認します。
以下のURL（英語）も併せてご参照ください。

DestinationPath=

・SAS Metadata Server Troubleshooting

Windows指定例："C:¥SAS¥9.1¥Lev1¥SASBackup"
UNIX指定例："your̲$HOME̲directory/SAS/9.1/Lev1/
SASBackup"※%OMABACKUPマクロは自動的にフォルダを作成しないので、指http://support.sas.com/rnd/eai/openmeta/v9/setup/qanda.html

定するフォルダはあらかじめ作成しておく必要があります。

説明：SAS Metadata Sererの構成ディレクトリを指定します。

6. メタデータのバックアップ
メタデータリポジトリは、情報を一括して集約管理できる利便性がありますが、
その反面、
メタデータ情報が利用不能になると、すべての機能が停止する

ServerStartPath=

ことになります。不測の事態に備えて、この章ではメタデータリポジトリのバッ
クアップ・リストア方法について紹介します。OSコマンドを利用してリポジト
リデータをバックアップする方法と、リポジトリのバックアップのための

Windows指定例："C:¥SAS¥9.1l¥Lev1¥SASMain"
UNIX指定例："your̲$HOME̲directory/SAS/9.1/Lev1/SASMain"
説明：
リポジトリマネージャの相対パスを指定します。

%OMABACKUP マクロを利用する方法の2通りがあります。
RposmgrPath=

6.1 コールドバックアップ
OSコマンドでリポジトリをバックアップする方法です。稼働中のSASサーバー

Windows指定例："MetadataServer¥rposmgr"
UNIX指定例："MetadataServer/rposmgr"

群を停止し、バックアップを行ないます。
（1） SASサーバーを完全に停止します。SAS Metadata Server は一番
最後に停止します。
（2） OSコマンドで、メタデータリポジトリとリポジトリマネージャのファイルを

Reorg=

説明：
バックアップ実施時に、削除済みメタデータオブジェクトを削除するかどうか指定します。YES（もしくはY）とした場合には、リポジトリの再構成を行ない、必要なディスクスペースを減少させます。NO（もしくはN）とした場合には、リポジトリを現状のままコピーします。デフォルト値はNOです。

コピーして、任意の場所に退避・保存します
表 8 %OMABACKUPのパラメータ

バックアップ対象

取得対象ディレクトリ
（フォルダ）パス（Windowsの例）

メタデータリポジトリ

Lev1¥SASMain¥MetadataServer¥
MetadataRepositories（1）事前にバックアップ用のディレクトリをOS側で作成します。

Lev1¥SASMain¥MetadataServer¥rposmgr（3）以下のようなプログラムを作成・実行します。

リポジトリマネージャ（2）SAS Metadata Serverが稼動しているマシンで、SASを起動します。

OPTIONS METASERVER='localhost'（3）SASサーバー群を起動します。SAS Metadata Serverは一番最初に起動します。

METAPORT=8561
METAPROTOCOL=bridge
METAUSER='管理ユーザーのアカウント名'

次に、
リストアの手順について紹介します。

METAPASS='管理ユーザーのパスワード
METAREPOSITORY='Foundation';（1）SASサーバーを完全に停止します。SAS Metadata Server は一番
最後に停止します。
（2）OSコマンドで、既存のリポジトリとリポジトリマネージャのファイルを削除します。
その後、バックアップしておいたメタデータリポジトリとリポジト%OMABACKUP(DESTINATIONPATH="absolute_pathname",
SERVERSTARTPATH="absolute_pathname",
RPOSMGRPATH="relative_pathname"
REORG=No)リマネージャのファイルを規定のパスにコピーします。
（3）SASサーバー群を起動します。SAS Metadata Serverは最初に起動します。
パスワードは、2.3で説明したPWENCODEプロシジャを利用し、エンコード

6.2 ホットバックアップ%OMABACKUP マクロを利用して、ホットバックアップを行ないます。
%OMABACKUP マクロは次のような構文で実行します。
%OMABACKUP(DESTINATIONPATH="pathname",
SERVERSTARTPATH="pathname",
RPOSMGRPATH="pathname",<REORG="Yes|No">)

したパスワードを記述します。

%OMABACKUPマクロを利用して作成したバックアップのリストアの手順について紹介します。
（1）リポジトリの監査履歴機能を有効にしている場合には、これを停止します。
（2）Metadata Serverを停止します。
（3）OSコマンドを利用して、リポジトリの保存場所にバックアップをコピーします。
Windowsの場合
xcopy srcdir destdir /E /C /I /H /K /O /X /YUNIXの場合
rm -fr destdir
cp -rp srcdir destdir（4）Metadata Serverを起動します。
（5）リポジトリの監査履歴を再度有効にします。
%OMABACKUP マクロを利用したバックアップ方法のより詳細な情報については、以下のURL（英語）をご参照ください。
http://support.sas.com/rnd/eai/openmeta/v9/setup/backup.html

7. 参考文献SAS Open Metadata Architectureの運用に関しての詳しい情報は、以下のURL（英語）も併せてご参照ください。
・ SAS 9.1.3 Integration Technologies Technical Overview
http://support.sas.com/rnd/itech/library/toc̲overview.html
・ SAS 9.1.3 Integration Technologies Administrator s Guide
http://support.sas.com/rnd/itech/library/toc̲adminoma.html

8. おわりに2号にわたってSAS Open Metadata Architectureの概念と運用時によく検討されるテーマについて取り上げました。次号の特集では、ETL開発
環境についてご紹介する予定です。

s_var(i) + var_(i);END;
IF last.id THEN DO;
OUTPUT;CALL MISSING(OF s_var1-s_var3); /* CALL MISSINGルーチン */● 複数の変数に欠損値をセット（初期化）する● バッチプログラムの処理優先度を変更する

END;
RUN;

● 実行しているプログラムファイル名の取得● 行番号の印刷について● カラムポインタコントロールの利用法● 一貫性制約にてデータの妥当性を確保する

任意のバッチプログラムの処理優先度を高くすることはでき● ログウィンドウの最大行数ますか。

● エラー発生時に対話型処理で処理を停止する● BY変数を指定した際のグラフ見出しについて● 等分散性を仮定しないケースでの多重比較

Windows NT、Windows 2000、およびWindows XPで● 信頼区間の算出手法の変更

は、システムのSTARTコマンドで優先度を指定してバッチ● LS平均の差に対する標準誤差の算出

プログラムを実行できます。
以下に、SASのバージョンごとにbatファイルの記述例を示します（実際に複数の変数に欠損値をセットするときに、ひとつずつセットしは１行につなげて記述してください）。

たり、DOループを使用したりしていますが、簡略化する方法
SAS 9.1の場合はありますか。
SAS9以降では、CALL MISSINGルーチンを使用して、複start

数の 変 数に欠 損 値をセットすることができます。C A L L

sas.exe -sysin c:¥saspgm¥batch.sas -log c:¥saslog

MISSINGルーチンの書式は、以下のとおりです。

print c:¥sasout -nosplash -icon -noterminal/d"c:¥program

files¥sas¥sas

9.1"

/high
-

CALL MISSING(変数名1<,変数名2, ...>);
SAS 8.2の場合
引数には文字変数と数値変数を同時に指定できます。数値変数には欠損

start /d "c:¥program files¥SAS Institute¥sas¥v8¥nls¥ja"

値、文字変数にはスペースがセットされます。
「OF 変数名1-変数名n」と/high sas.exe -sysin c:¥saspgm¥batch.sas -log c:¥saslog

いう簡略表記もできます。

-print c:¥sasout -nosplash -icon -noterminal

使用例
・/dオプションには、SAS.exeが存在するフォルダを指定します。
DATA sample;/* サンプルデータセット作成 */・優先度は下記のようになります。

INPUT id $ var1-var3;
CARDS;
A001 10 0.1 100
A001 20 0.1 100
A002 20 0.2 200
A002 30 0.1 100
A003 40 0.3 300
A003 15 0.3 300

優先度
・
・
・
優先度

高

/realtime/high/normal

低/low※ 優先度クラスの変更は、システムの稼動を不安定にさせる場合があります。
設定については十分な確認をすることをお勧めします。なお、STARTコマンドに関する詳細は、Windowsのヘルプを参照してください。

;
RUN;
実行しているプログラムファイルの名前を、
マクロ変数として
DATA sum(DROP=var1-var3 i);
SET sample;
BY id;

取得したいのですが、どうすれば可能でしょうか。たとえば、「ABC.SAS」というプログラムを実行した際、「ABC.SAS」という値をマクロ変数として格納するには、
どうしたらよいでしょうか。

RETAIN s_var1-s_var3 0;
ARRAY s_var(3);SQLプロシジャでdictionary.extfilesディクショナリを検索

ARRAY var_(3) var1-var3;

することにより、最後に開かれたファイル名を取得すること

SET sample;
BY id;
DO i=1 TO DIM(s_var);ができます。dictionary.extfilesには、以下のようなパター
ンでファイル名が記録されています。

OBS fileref

xpath

xengine1#LN00004

TERMINAL

2#LN00005

C:¥filename.sas

3#LN00001

C:¥Program Files¥SAS Institute¥SAS¥V8¥NLS¥ja¥sasmsg

SAS 8.2では、行番号を印刷する機能はありません。SAS 9.1

4#LN00001

C:¥Program Files¥SAS Institute¥SAS¥V8¥core¥sasmsg

であれば、エディタやログウィンドウ等の内容を印刷する際にSASプログラムを印刷する際に、行番号を印刷することはできますか。

行番号やページ番号を含めることができます。設定は次のよう.

に行ないます。

.
（以下略）

1. メニューから［ファイル］→［印刷］を選択します。
2.［印刷］ウィンドウで［オプション］ボタンをクリックします。
ファイル名は、変数xpathに格納されています。またfilerefは、新しいファイルが開かれるたびに番号が上がっていきます。つまり、filerefの番号が最3.［その他の印刷オプション］ウィンドウで、「行番号」「ページ番号」のチェックボックスにチェックを入れます。

も大きいものが、最後に参照されたファイルと考えることができます。この機能を利用して、最後に参照されたファイルの名前を取得するサンプルプ
マニュアルに、「@'character-string' カラムポインタコント

ログラムを以下に示します。

ロール」というものが記載されていましたが、使用例がなく、
どのような場合に利用するものなのか分かりません。使用例をPROC SQL NOPRINT;

教えてください。

SELECT xpath INTO :filename
FROM (「@'character-string' カラムポインタコントロール」、
たと

SELECT INPUT(SUBSTR(fileref,4),5.) AS file_number, xpath

えばWebログなど、カラムが不揃いでかつ各項目の長さもFROM dictionary.extfiles

不定であるテキストデータを、インフォーマットと併用して読WHERE UPCASE(SCAN(xpath,-1,'.')) = 'SAS'

み込む際などに便利です。@'character-string'は、データ行内の)'character-string'に指定した文字列以降の最初のカラム（ブランク以外）

HAVING file_number=MAX(file_number);

まで、ポインタを移動させます。

QUIT;/* フルパスからファイル名のみを取得（Windowsの場合） */以下のサンプルプログラムは、Webログが保存されたテキストデータを読み込み、SASデータセットを作成する例です。その際、日付の項目とGETメ%LET filename=%SCAN(&filename,-1,'¥');

ソッドにてリクエストしたファイルの項目のみを読み込んでいます。
/* ファイル名の出力 */%PUT "このファイルは &filename です。";

DATA weblogs;
INPUT @'[' date date11. @'GET' file :$20.;
CARDS;

SQLプロシジャでは、
まずfilerefの値のうち先頭４文字目以降をSUBSTR関数で取り出し、INPUT関数で数値型の値に変換しています。またこのと10.192.70.235 - - [08/Jun/2005:23:51:32 -0700] "GET /test.jpg
HTTP/1.1" 200 66820

きxpath の値を「.」を区切り文字として末尾が「SAS」であるものだけを抽出します。ここから、
さらにfilerefの値を数値変換したものが最大である

10.0.0.0 - - [08/Jun/2005:23:51:40 -0700] "GET /index.html
HTTP/1.0" 200 8471

行の、xpathを取得します。これが最後に開いたファイル名となります。

172.30.236.8--[08/Jun/2005:23:51:40-0700]"GET/data/image.gif HTTP/1.0" 200 89
ファイル名はINTO句によってマクロ変数filenameに格納されます。ただしこれはフルパスで記述されています。上記の例では、ファイル名のみを取り出すことを想定し、%SCAN関数で「¥」を区切り文字とした最後の部分をファイル名として抽出しています※。
※ Windows環境での例です。UNIX環境の場合は、「¥」の代わりに「/」を指定します。

172.16.236.25 - - [08/Jun/2005:23:51:40 -0700] "GET /new.gif
HTTP/1.0" 200 1852
172.31.121.255 - - [08/Jun/2005:23:56:46 -0700] "GET /base.gif
HTTP/1.0" 200 14079
192.168.121.37 - - [09/Jun/2005:00:57:49 -0700] "GET /logo.gif
HTTP/1.0" 200 18312

なお、
このプログラムで得られるのは、正確には「最後に開いたファイル名」
です。したがって、
このプログラムを実行する前に別のファイルを開いてしまうと、後から開いた方のファイル名を取得することになってしまいますのでご注意ください。

192.168.255.255--[09/Jun/2005:00:57:49-0700]"GET/statemnt.htm HTTP/1.0" 200 238
192.168.0.0 - - [09/Jun/2005:01:59:40 -0700] "GET /Item/old.gif
HTTP/1.0" 200 98;
RUN;

PROC PRINT DATA=weblogs;
FORMAT date YYMMDD10.;
RUN;

前ページのプログラムを実行すると、下記の結果が出力されます。

SAS9からは、追加されたDMSLOGSIZEオプションを使用することで、ログの最大行数を999,999行まで増やすことが可能です。また、アウトプット

OBS

date

ウィンドウもDMSOUTSIZEオプションで同様に変更することが可能にな

file

りました。これらのオプションは、SASシステムの起動時、またはSAS環境
設定ファイルに記述して使用します。

1

2005-06-08/test.jpg

22005-06-08/index.html

3

2005-06-08/data/image.gif

42005-06-08/new.gif5

2005-06-08/base.gif

62005-06-09/logo.gif

SAS環境設定ファイル内の指定例-DMSLOGSIZE 999999

7

2005-06-09/statemnt.htm

8

2005-06-09/Item/old.gif
バッチ処理などでは、処理の途中でエラーが発生するとそれ以降の処理は実行されないため、後続のステップで誤って他のデータが更新されることがないのですが、DMSで同じプロある変数の値は、ユニークである必要があります。現在は、グラムを実行した場合、後続の処理が実行されてしまい、不都合が発生す

データを追加後、SORTプロシジャにNODUPKEYオプショ

る場合があります。バッチ処理と同じように、
エラーが発生した場合に後続ンを指定して、
データの重複がないかを確認しています。他の処理が行なわれないようにすることはできますか。

に良い方法はありませんか。
SAS9から新たなオプションとして、DMSSYNCHKオプション
一貫性制約を作成することで、SORTプロシジャを利用するが追加され、DMSでの対話型処理において、バッチ実行時と必要はなくなります。以下のサンプルプログラムをご確認く

同様の構文チェック機能を有効にすることが可能になりました。

ださい。
指定例
/* サンプルデータを作成 */DATA sample;
INPUT id age;

OPTIONS DMSSYNCHK;CARDS;
1 10
このオプションを設定すると、1回のサブミット操作で実行される範囲（単位）

2 11
3 12

内でエラーが発生した場合、バッチ実行時と同様の警告メッセージを出力4 13

し、以降の処理が誤って実行されることを未然に防止できます。

5 11
;
RUN;

by変数を指定してグラフを描画した際に、「BY変数 = 基準

PROC DATASETS LIB=work NOLIST;が、表示しないようにするには、どうすればよいでしょうか。
また、値」という文字列が各グラフの上部に自動的に表示されます
必要なものだけを表示させるにはどのようにすればよいでしょうか。

MODIFY sample;/* 一貫性制約を作成 */IC CREATE iduni=unique(id)
MESSAGE='IDがユニークではありません';

BY ステートメントは、自動的に「BY line」と呼ばれる"BY

QUIT;

グループを特定した見出し"を、グラフ内に出力します。
/* 制約に適合しないデータを作成 */DATA add;
SET sample(OBS=1);

BY lineの出力を表示しないようにするには、OPTIONSステートメントでNOBYLINEオプションを指定するか、GOPTIONSステートメントでHBY=

RUN;0を指定します。
PROC APPEND BASE=sample DATA=add;
RUN;

OPTIONSステートメントでの指定例

OPTIONS NOBYLINE;GOPTIONSステートメントでの指定例

GOPTIONS HBY=0;

BY lineの情報は、以下のテキスト文字列引数に代入されます。また、
これログが大量に出力されると、ログウィンドウが一杯になっていらの引数はステートメントで生成されるフットノート、ノート、またはタイトルのる旨のメッセージが表示されますが、ログの出力行数を変更

いずれかで表示されます。

することは可能ですか。
#BYVAL

指定したBY変数の現在の値

SAS8までは、ログウィンドウおよびアウトプットウィンドウの#BYVAR

指定したBY変数の名前

最大行数は99,999行となっていたため、それ以上の出力が#BYLINE

先置ブランクまたは後置ブランクなしのBY line全体

あるとメッセージが表示されていました。

上記の各種テキスト文字列を使用する際には、単一引用符（シングル

ただし、SAS9.1.xにおいてGLIMMIXプロシジャは初期設定では存在しま

クォーテーション）または二重引用符（ダブルクォーテーション）で囲む

せん。導入方法については、下記の弊社WEBページをご参照ください。

必要があります。
・一般化線形混合モデルの利用について
次のプログラム例では、SASHELPライブラリにあるデータセット「CLASS」

http://www.sas.com/japan/service/technical/faq/list/body/stat068.html

を使用し、変数"WEIGHT"と"HEIGHT"のグラフを SEX 別に描画します。
その際に、BY lineの表示を抑制し、タイトルにBY変数であるSEXとBY
LIFETESTプロシジャにOUTSURV=オプションを指定して、生lineを含めるように指定しています。

存確率の信頼区間をデータセットに出力しています。SAS 8.2とSAS 9.1.3で、出力の結果が異なるのですが、なぜでしょうか。

PROC GPLOT DATA=sashelp.class;
PLOT weight*height;

OUTSURV=オプションで出力されるデータセットに含まれる

BY sex;

信頼区間については、SAS 9.1以降で算出の手法が変更さ/* BYLINE の自動表示を抑制する */れています。そのため、SAS 8.2と結果が異なります。

OPTIONS NOBYLINE;/* タイトルに BY 変数名と BY 変数の値を含める */TITLE F="MINCHO" '#BYVAR1 別体重と身長のグラフ #BYLINE';

SAS 9.1を利用して、SAS 8.2と同じ手法による信頼区間を求めるには、

RUN;

OUTSURV=オプションではなくSAS 9.1にて追加されたSURVIVALステ

QUIT;ートメントを用います。
このステートメントでは、OUT＝オプションにより、生存確率の結果をデー
タセットに出力でき、さらにCONFTYPE=オプションの追記によって、信頼区間の算出手法を指定できます。デフォルトはCONFTYPE=LOGLOGですが、CONFTYPE=LINEARと指定することによって、SAS 8.2と同様のDunnettやTukeyの多重比較法は、
いずれも等分散性が仮手法で、信頼区間の上限・下限を求めることができます。

定されています。等分散性を仮定しないTamhaneのT2 やDunnettのT3、Games-Howellによる方法に基づいて多重比較を行なうことはできますか。

GLMプロシジャのLSMEANSステートメントでTDIFFオプシ
ョンを指定して、
LS平均の差に対する検証を行なっています。

SAS 9.1では、一般化線形混合モデルを扱うGLIMMIXプ
ロシジャで対応しています。以下は、応答変数をY、因子で検定統計量のt値とp値の他に、標準誤差を求めるにはどうすればよいのでしょうか。

あるカテゴリ変数をAとしたプログラム例です。
GLMプロシジャのLSMEANSステートメントでは、LS平均の差に対する標準誤差は算出されません。ただし、ESTIMATE/* TamhaneのT2 */ステートメントによって求めることができます。

PROC GLIMMIX DATA=test;
CLASS a;MODEL y = a / DDFM=KR;

具体的には、最初にLSMEANSステートメントにEオプションを指定、実行し、

RANDOM _RESIDUAL_ / GROUP=a SUBJECT=a;

LS平均を算出するときの係数を確認します。次に、2つのLS平均に対するLSMEANS a / ADJUST=SIDAK ADJDFE=ROW CL;係数の差を求め、ESTIMATEステートメントで以下のように指定することによって求めることができます。

RUN;/* ESTIMATEステートメントを用いたGLMプロシジャの実行 *//* DunnettのT3 */PROC GLM DATA=test;

PROC GLIMMIX DATA=test;
CLASS a;CLASS group;

MODEL y = a / DDFM=KR;

MODEL resp=group;/* LS平均の差をESTIMATEステートメントにて算出 */RANDOM _RESIDUAL_ / GROUP=a SUBJECT=a;

ESTIMATE "TEST 1-2"group 1 -1

LSMEANS a / ADJUST=SMM ADJDFE=ROW CL;
RUN;/* Games-Howell */PROC GLIMMIX DATA=test;

0;

ESTIMATE "TEST 1-3"group 1

0 -1;

ESTIMATE "TEST 2-3"group 0

1 -1;

RUN;
QUIT;

CLASS a;MODEL y = a / DDFM=KR;RANDOM _RESIDUAL_ / GROUP=a SUBJECT=a;

なお、MIXEDプロシジャのLSMEANSステートメントでは、デフォルトでLS

LSMEANS a / ADJUST=TUKEY ADJDFE=ROW CL;

平均の差の標準誤差も表示されます。

RUN;

ステムに対応させたいSQLプログラマに有効な一冊です。
SASマニュアル申込用紙、および最新のPublication Catalog（マニュアル
案内パンフレット）は弊社ホームページ（http://www.sas.com/japan/manual/）
にて公開しておりますので、併せてご利用ください。

新刊マニュアルのお知らせ「SAS® Guide to Report Writing: Examples, Second Edition」
注文番号：59602
価

格：8,295円（税込）

マニュアル販売係●T

E L 03-3533-3835
A X 03-3533-3781● E-mail JPNBooksale@sas.com●F

本書はSAS®9に準拠して改訂された、レポートライティングの用例集です。
高度なレポートを作成する手順を解説し、そのまま使えるさまざまなスタイルのレポートや、その作成に使用するSASツールについて説明しています。
豊富な用例は、新しい技術をすばやく吸収したい経験豊かなプログラマに役立ち、また、欄外に記載された注釈は経験の浅いユーザーにも役立ちます。
収録されているSASプログラムをそのまま利用して、レポート作成に費やす
時間を節約。またそれを応用して独自のレポートを作成するための参考に。
本書は、初心者からベテランまで、
レポートライティングの技術の向上はもちろん、高度なレポートを作成するために必要な参考書となるでしょう。

SASトレーニングのお知らせ「Applied Statistics and the SAS® Programming Language,
Fifth Edition」■ 特別コース追加のご案内

注文番号：60576

日

程：9月15日（木）〜16日（金）10:00〜17:00

価

価

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

格：12,705円（税込）● 「構造方程式モデリングによるマーケティング分析」

進化を続けるSASプログラミング言語に対応するため、この新版では、最講

師：早稲田大学 文学部心理学教室 豊田秀樹教授

新の統計パッケージ、データベース管理システム、そして高度なプログラミ

会

場：SAS Institute Japan株式会社 東京本社７Fトレーニングルーム

ング言語をカバーしています。ビジネス、医学、教育、心理学やその他の分

受講対象：構造方程式モデリング（SEM：Structural Equation Modeling）

野からの用例を使用した本書は、膨大な技術文書を必要とせずに、SASをを用いてマーケティング分析をすることに興味のある方活用した統計分析が可能になる、
まさに学生にとっても応用研究者にとっ前提知識：マウス操作、および標準的なコンピュータの利用方法ても有益な一冊です。本書は、統計分析を実施するためのSASプログラミ

学習内容：本セミナーでは、構造方程式モデリング（平均共分散構造分析）

ング言語の学習書として、統計やエンジニアリング部門から、心理学や教による、マーケティング分析の講義と実習を行ないます。
構造方程式モデリング（SEM）は、近年、マーケティング分野に育の分野まで、幅広いユーザーに対応しています。

おけるモデル分析に頻繁に利用されるようになりました。SEM「SAS/ACCESS® 4.1 Interface to R/3: User's Guide」を利用することにより、理論から導かれる変数間の複雑な関係

注文番号：60575を表現し、マーケティングの多くの領域で分析モデルを構築す

価ることが可能になりました。しかし本セミナーでは、マーケティン

格：2,730円（税込）

本書には、SAS/ACCESS®

4.1 Interface to R/3を使いこなすために必グに対する全般的なSEMの適用方法を扱うのではありません。

要な情報が網羅されています。SAS/ACCESS Interface to R/3のチュー

講演者によって開発された3つのオリジナルな手法（文献はそ

トリアルと用語集を提供するとともに、リファレンスとしても活用できます。

れぞれ［1］［2］［3］）にテーマを絞って解説と実習を行ないます。

本書は、アプリケーションプログラマの方、SASまたはSAP R/3ソフトウェ

3つの分析法は以下の通りです。

アに精通したユーザーを対象としていますが、SASとSAP R/3を同時に利用することは初めてのユーザーを想定して書かれています。本書はホーム

1. 3相・多相データの解析法

ページ上での閲覧も可能です。

マーケティング分析ではしばしばSD法によるイメージの分析を行います。SDデータは「被験者」×「形容詞」×「概念」とい® Users」「The Essential PROC SQL Handbook for SASう3相データとして表現されます。しかしこれまでは、相をつぶし

注文番号：58546

たり、データを切り刻んだりと、とにかくデータを２相に縮退して価から分析することがほとんどでした。ここでは3相のSDデータを

格：12,495円（税込）

本書は、SQLプロシジャの機能と、SQLプロシジャを利用した一般的なタ3相のまま分析する探索的ポジショニング分析を紹介します。こスクの実行方法に焦点を当てた内容で、読者がすばやくSQLのスキルをの手法は「日本心理学会優秀論文賞（2002年）」を受賞して開発・強化することを可能にする総合的な参考書です。300例を越えるいます。

SQLプロシジャのプログラムはもとより、どのようにそのステートメントが処理されるのかを示すクエリおよび図表、必須概念を強調させたヒントやテ

2. 一対比較データの解析法

クニックの紹介、そして、SAS/ACCESSでのSQL Pass-Through機能利

新製品を販売する際のネーミングテストを例にとり、SEM流の用ユーザーを特に意識して構成された付録などが特徴です。この実践的一対比較データの解析法を講義します。この方法の最大の特ガイドは、SQLプロシジャをBase SASやSAS/ACCESSのプログラムに

徴は、候補の魅力だけでなく、その安定度を推定できること、お組み込む方法を学びたいすべてのSASユーザー、あるいは最新のSASシ

よび魅力の個人差を調べることができることです。

3. 決定問題に対処する集団AHPの解析法

受講対象：SASによる医薬統計に従事している方

コンビニエンスストアの選択（どの店に入ろうか）、商品の選択

前提知識：医薬向け分散分析」を受講済みか、同程度の知識のある方（どの洗剤を買おうか）、店舗の選択（どこに新店舗をだそうか）

学習内容：ICHのE9の「臨床試験の統計的原則」でも記述されるように、など、マーケティング活動では決定問題を扱うことがしばしばで一つの研究で多数の検定を行なうと、多重性によって、第一種す。
しかも集団を相手にする決定問題であることが多いようです。

の過誤の大きさが増大することが問題になります。臨床研究で決定問題を分析する手法としては、AHPが有名ですが、ここでは多項目、多時点、多群、中間解析、多種検定等の多重性のはSEM流の集団AHPを紹介します。この方法の長所は、どう問題に対応する必要があります。これらの多重性の問題についう理由でその候補が大衆に支持されたのかを明らかにする

いて、特に多群比較と多項目性の問題を中心にして、SASをだけでなく、個々の人々が全体的決定プロセスのどの部分と用いた実務的対処法について解説します。SASではDunnett

異なるのかをも明らかにできる点にあります。

法やTukey法等の基本的な多重比較法は、GLMプロシジャで若干の変更の可能性もありますが、セミナーのタイムテーブルは、ロシジャが用意されておらず、PROBMC関数を用いて確率計

およそ以下の通りです。

算を行う必要があります。また最大対比法による用量相関性

計算可能ですが、ノンパラメトリックな多重比較についてはプの評価等のより複雑な問題については、resamplingによって
午
1日目

2日目

前： 一対比較によるネーミングテストの理論的解説とその実習

多重性を調整したp値を計算するMULTTESTプロシジャを利

午後前半： 一対比較分析の結果の解釈の仕方とAHPモデルの導入用するのが簡便であり、閉手順と組み合わせて用いることによ

午後後半： 集団AHPモデルについての理論的解説とその実習

り、検出力を向上させることができます。本コースではSASの多午

重比較の機能を総括的に解説します。

前： 探索的ポジショニング分析の理論的解説とその実習

午後前半： 探索的ポジショニング分析の結果の解釈
午後後半： 集団AHPモデルの結果の解釈

・多重比較法の基本GLMプロシジャによる多重比較
・PROBMC関数を用いたノンパラメトリック多重比較のためのマクロ

実習では、受講者の方ご自身の嗜好や決定傾向が、集団全体

・MULTTESTプロシジャによるresampling法を用いた多重性の調整の嗜好および決定とどこが違うのかについて、実際に分析され、・閉手順の応用解釈され（もちろん匿名で解釈いたします）それを通じて分析

・Q&A

手法の理解を深めていただきます。また実習に使用した3つの解析法を実行するためのSASマクロが配布されます。

SAS Institute Japan株式会社では、今後も多岐にわたったトレーニング
コースを追加していく予定です。コース内容・日程等の詳細は、順次弊社

文献

ホームページに掲載しますので、以下のURLをご参照ください。

［1］探索的ポジショニング分析−セマンティック・デファレン

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

シャルデータのための3相多変量解析法− 2001 心理学
研究 Vol.72,213-218．

■ 一部コース 開催日数変更のお知らせ［2］実験データに基づく一対比較データの分析−構造方程式モデリングによる表現− 2004 心理学研究 Vol.75,33-40．
［3］SEMによる集団AHPモデル 2004 教育心理学研究
Vol.52, No.2 139-147．

2005年9月より、下記の各コースの開催日数を、いままで日本独自の日数で提供していたものからグローバルで提供している日数に変更いたします。
これにより、内容の詰め込みすぎというお客様からお寄せいただいておりましたご不満を解消します。なお、日数の変更に伴いコース価格について● 「医薬向けポアソン回帰」
日

程：10月14日（金）13:00〜17:00

価

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

下記のとおり変更させていただきますのでご了承ください。
日数

税込価格/チケット捺印数

師：東京大学大学院 医学系研究科 生物統計学教室「SASプログラミングI」

3日

141,750円/3ポイント

場：SAS Institute Japan株式会社 東京本社７Fトレーニングルーム「SASプログラミングII」

3日

149,625円/3ポイント

受講対象：SASによる統計解析に従事している方「SASプログラミングIII」

3日

149,625円/3ポイント

前提知識：「医薬向けカテゴリカルデータ解析2」を受講済みか、同程度「SASプログラミング速習」

5日

299,250円/チケット適用なし

講
会

コース名

の知識のある方
学習内容：学習内容 本コースでは、計数データに対するポアソン回帰モ
デルの当てはめ、発生率に対するポアソン回帰モデルの当て

その他、
トレーニングに関する情報については、弊社ホームページをご参照いただくか、下記トレーニング担当までお問い合わせください。

はめ、過大分散（overdispersion）に関するモデル評価、負の二項回帰モデルの当てはめ、モデル診断について学びます。
※テキストは英語版を使用します※通常のコースとは開催時間が異なりますのでご注意ください● 「SASによる医薬データの多重性の調整と多重比較」
日

程：11月14日（月）〜15日（火）
14日：10:00〜17:00／15日：9:00〜12:00※通常のコースとは開催時間が異なりますのでご注意ください価格：63,000円（税込）／チケットのお取り扱いはありません

講師：東京理科大学 工学部経営工学科 浜田知久馬 助教授

会

場：SAS Institute Japan株式会社 東京本社７Fトレーニングルーム

トレーニング担当●T

E L 03-3533-3835
A X 03-3533-3781● E-mail JPNTraining@sas.com●FSAS Technical News送付についてのご案内

最新リリース情報■PCプラットフォーム

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

Windows版

SAS 9.1.3

9.1 TS1M3・SASコンサルタントとしてご登録の方

Windows（64-bit）版

SAS 9.1.3

9.1 TS1M3

・SAS Technical Newsの購読をお申し込みいただいている方■ミニコンピュータプラットフォーム

今後SAS Technical News購読が不要の方、配信先の変更等をご希望の方は、下記URLよりお手続きください。

OpenVMS AXP版

SAS 6.12

TS020

OpenVMS VAX版

SAS 6.08

TS407

配信停止
http://www.sas.com/japan/corporate/material.html■UNIXプラットフォーム
配信先変更手続き
Tru64版

SAS 9.1.3

9.1 TS1M3

SunOS/Solaris版

SAS 9.1.3

9.1 TS1M3

HP-UX版

SAS 9.1.3

9.1 TS1M3

HP-UX（Itanium）版

SAS 9.1.3

9.1 TS1M3

AIX版

SAS 9.1.3

9.1 TS1M3

Linux（Intel）版

SAS 9.1.3

9.1 TS1M3

ABI+版

SAS 6.11

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

9.1 TS1M3

富士通版（F4, MSP）

SAS 6.09E

TS470

日立版（VOS3）

SAS 6.09E

TS470

CMS版

SAS 6.08

TS410

発行
テクニカルニュースに関するお問い合わせ先
テクニカルサポートグループ

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

http://www.sas.com/japan/sasj̲privacy.html#inquiry