特集

Open Metadata
Architecture入門
Open Metadata Architecture入門

1. はじめにSASの歴史上、最も重要かつ革新的なリリースであるSAS¤9が提供するビジQ&A

ネス・インテリジェンス・プラットフォームは、「SAS¤ Open Metadata Architecture」
を基盤として構築されています。今回の特集は、2号に渡ってSAS9のアーキ

新刊マニュアルのお知らせ

テクチャを理解する上で基本となるMetadata Architectureについてご紹介
していきます。今号の特集では、「Open Metadata Architecture入門」と題

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

して、前半ではMetadata Architectureの概念、後半ではより詳細に踏み込んでアクセスコントロール機能を中心にご紹介します。

最新リリース情報

2. ビジネス・インテリジェンスシステムの課題とSASのビジョン
ビジネス・インテリジェンス（以下BI）の文脈で企業システムを捉える際に、そこには大きな課題があります。BIを活用して意思決定を行なう際には、企業内システムに分散する膨大な情報を集約する必要があります。BIシステ
ムを構築する際、「ETL（データの抽出・変換・データウェアハウスへのロード）」、「Storage（データ蓄積）」、「BI」、「AI（高度な分析）」というBIのプロセスごとに、別々のベンダーのシステムで構築する場合があります（図１左）。このようにしてシステムを構築した場合には、統合が困難である上、システム間の連携性が乏しくプロセスが分断されます。個別システムであるため、保守上の手間の増加や莫大な費用負担という課題が発生します。
また、組織変更やビジネスプロセスの変更によってシステムを変更する必要がある場合には膨大な時間と作業量を要し、迅速に環境変化に対応することができません。

図1：SASの提供するビジネス・インテリジェンス環境 - Enterprise Intelligence Platform（EIP）

前ページの課題に対するSASのビジョンは、非常にシンプルです。SASは（1）SAS Metadata Modelとメタデータタイプ

データの収集・蓄積・分析を一つのプロセスとして捉え、一気通貫のBIシ

OMAでは定義済みメタデータとして約150種類のメタデータオブジェクトをステムを提供します。また、共通メタデータサービスとメタデータの集中管用意しています。定義済みメタデータオブジェクトにはユーザー情報、認証

理フレームワークを提供することにより、大幅に管理運用性を向上させます。

情報、データ属性情報、OLAP情報、サーバー情報などがあります。このメ統一されたシステムと共通のメタデータサービスを利用することでメタデー

タデータオブジェクトは階層構造を形成しており、それぞれが継承関係にあタ情報の更新は一度で済むため、管理作業とコストを低減し、チェンジマ

ります。このメタデータ構造をSAS Metadata Modelと呼んでいます。

ネジメントにも即応します。これを実現するのが、SASの提供する「Enterprise

SAS Metadata Modelはその役割と構造に対する理解を容易にするためIntelligence Platform（EIP）」（図1右）であり、その基盤となるのは「SASサブモデルで分類しています。

Open Metadata Architecture」による集中管理フレームワークです。
（2）相互運用性

3. Open Metadata Architectureの概要

OMAは、統合したメタデータ情報をSASアプリケーションや他のアプリケー

3.1. メタデータ

ションに開放するためのAPIを公開しています。また、他社製ソフトウェアでSASが提供する集中管理フレームワークを語る上で、メタデータは重要なキー構築したメタデータを取り込むことで既存資産を有効活用します。

ワードです。メタデータは、データについて記述した情報を指します。そのため「データのデータ」とも表現されます。メタデータは、
テクニカルメタデータ● SAS Open Metadata Interface / SAS Java Metadata Interfaceとビジネスメタデータの２種類に分類されます。テクニカルメタデータは、デー

Metadata Serverにアクセスする際に利用するAPIをSAS Open Metadata

タの属性情報（カラムのデータ型や長さなど）やデータ変換方法（抽出、変Interfaceと呼んでいます。これに対応したクライアントアプリケーションから、

換などの処理）について記述したデータです。ビジネスメタデータは、
ビジネ

統合リポジトリに格納されたメタデータにアクセスして利用することが可能

スユーザーがデータやアプリケーションを利用する際に簡単に理解できるよです。併せて、SAS Java Metadata Interface を利用することで、Javaでうに、技術的な専門用語をビジネス用語で記述したデータです。これらのメタデータは、物理的なデータベースに保存されます。このメタデータをメタデー

独自に開発したクライアントからメタデータを扱うことが可能です。
● CWM/XMIの準拠

タリポジトリと呼びます。メタデータを利用したシステム管理の集中化によりMetadata Serverは、Oracleをはじめとしてさまざまなベンダーが準拠して管理運用性の向上などの効果が期待されますが、メタデータを効果的に利いるMetadata Object Management Groupの Common Warehouse

用するためにはメタデータの管理を行なうフレームワークが求められます。そMetaModel / XML Metadata Interchange（CWM/XMI）に準拠してのフレームワークを提供するのがSAS Open Metadata Architectureです。

います。そのためサードパーティー製ソフトウェアで作成されたメタデータ

3.2. SAS Open Metadata ArchitectureにはMeta Integration Model Bridge（MIMB）を利用します。

情報をXML形式でインポート／エクスポートすることが可能です。その際「SAS Open Metadata Architecture（以下OMA）」は、SASの提供する
BIシステムの基盤となる、SASやその他のアプリケーションに共通のメタデー（3）運用管理性

タサービスを提供するメタデータ指向アーキテクチャです。OMAは、「統合

メタデータを有効活用するためには、統合されたリポジトリの存在とメンテナン

リポジトリ」「単一の管理ポイント」「アクセスコントロール」によって特徴スの簡便性が絶対条件となります。OMAは「単一の管理ポイント」としてづけられます。次の章で、それぞれの概要と特徴についてご紹介します。

SAS管理コンソールを提供します。SAS管理コンソールについては後述します。

4. SAS Open Metadata Architecture の特徴
4.1. 統合リポジトリ（4）チェンジマネジメントサポート
組織やビジネスプロセスの変更によって、メタデータ情報を更新する必要が

OMAフレームワークの中核を成すのは、
メタデータを単一の統合されたリ生じる場合があります。そうした場合には、現在稼働しているシステムに影響

ポジトリに集約するという、「統合リポジトリ」のコンセプトです。統合リポジを与えることなく、メタデータの変更をサポートする仕組みが必要となります。

トリには各種メタデータをSAS独自のメタデータ構造に基づき格納します。

OMAでは、「ファンデーション」と呼ばれる統合リポジトリが使用されます。

分散する各種メタデータ情報を統合リポジトリにより一括管理することで親リポジトリである「ファンデーション」に依存する形で、開発による変更を

相互運用性と運用管理性を提供し、システム管理者の負担を軽減します。

テストおよび評価するために使用するリポジトリとして、「プロジェクト」リポ

またチェンジマネジメント（変更管理）機能を提供し、開発期間中のメタデー

ジトリを用意しています（この他、親リポジトリやその他のリポジトリに依存し、タ生成作業をサポートします（詳細は（4）参照）。

特定目的で利用できる「カスタム」リポジトリが利用可能）。
変更管理機能を提供するプロジェクトリポジトリを利用することで、複数の開発者が共同でメタデータ生成プロセスに取り組むことが可能になります。
開発者は、メタデータのチェックイン、チェックアウト機能、メタデータ操作への監査ログの取得、メタデータ変更の影響度を検証するインパクトアナリシ
ス、
そしてリポジトリのプロモーションとリプリケーションが行なえます。実際の作業は、SAS¤ ETL StudioとSAS管理コンソールを使用して行ないます。

4.2. 「単一の管理ポイント」
OMAフレームワークは、
メタデータ統合管理における「単一の管理ポイント」としてSAS管理コンソール（以下SMC）を提供します。システム管理に必要なタスクをすべてこの単一のアプリケーションから行なうことができるため、
メンテナンス
作業を集中化でき、システム管理者の負担を軽減します。SMCでは、
メタデータ
図2：SAS Open Metadata Architecture

リポジトリ、SASアプリケーションサーバー、
ライブラリ、ユーザー／グループ、
アクセスコントロール、ジョブのスケジュールなどのメタデータ管理作業が可能です。
また、Metadata Serverの起動／停止などのサーバー管理タスクも行なえます。

図4：SAS Intelligence Platform● SAS Metadata Server
図3：SAS管理コンソール

SAS Intelligence Platformの中核となる統合メタデータリポジトリサー

4.3. 「アクセスコントロール」

Serverはパフォーマンスを向上させるため、メモリ上にデータベースをバーで、さまざまなメタデータ情報の配信を行ないます。Metadata
OMAフレームワークは、統合メタデータリポジトリにより、Metadata Server
管理下のリソースに対するユーザーのアクセスコントロールを提供します。

展開します。そのため、単独筐体での構成を推奨します。
● SAS Workspace Server

SASアプリケーションを利用する際には、すべて統合リポジトリサービスを提クライアントからの処理要求により、SASプログラムを実行し結果を返供するMetadata Serverを介して、認証プロバイダにより認証が行なわれますサーバーです。SAS Enterprise GuideやSAS Enterprise MinerTM

す。統合リポジトリによって一括管理されているため、リソースへのアクセス
コントロールを一度定義しておけば、データへのアクセス時に利用するSAS
アプリケーションが変わっても個別のアクセスコントロールを設ける必要はありません。たとえば、SAS Web Report Studioで作成されたレポートの閲覧、SAS Add-In for Microsoft Office を利用したMicrosoft ExcelからのOLAPキューブの参照、SAS Enterprise Guide からOracleなどのデーなどの処理がこのサーバーで行なわれます。
● SAS Stored Process Server
あらかじめサーバー上に作成されたSASプログラムを実行するサーバーです。
● SAS OLAP Server
OLAPクライアントに対して、
キューブデータの配信を行ないます。
● Object Spawner

タベース（以下DBMS）やSAPなどのEnterprise Resource Planning（ERP）

Object Spawnerはリスナーの役割を果たし、クライアントからの処理

アプリケーションリソースへアクセスするケースが考えられますが、こうした要求に基づきMetadata Serverと通信してユーザーの認証情報を確SASアプリケーションからの全てのSASテーブルやデータへのアクセスをメ認し、要求に応じてSAS Workspace ServerやSAS Stored Process

タデータリポジトリから集中管理することが可能です。アクセスコントロール

Serverを起動します。

の概念については、8章で詳しくご紹介します。
SAS Intelligence Platformを構成するSASサーバー群については、SAS

5. SAS Intelligence Platformの構成

Technical News 2004 Summer 特集「SAS 9.1のご紹介」で解説して

5.1. SAS Intelligence Platformを構成する
SASサーバー群いますので併せてご参照ください。

SASは、インテリジェンス・プラットフォームにより、エンタープライズレベル

5.2. SAS Intelligence Platformのクライアント
プロダクトとユーザーアカウントの関係でインテリジェンスを提供します。クエリーやレポーティングといったBI環境を提供するSAS Enterprise BI Server 、データの抽出・変換・データウェ

SAS Intelligence Platformでは、組織内の業務ニーズに応じて、
クライア

アハウスへのロードといった、ETL環境を実現するSAS Enterprise ETL

ントプロダクトやシステム内のユーザーアカウントを明確に区別して提供しServerなどの製品群をラインアップしています。また、特定のビジネスドメています（ユーザーアカウントの詳細は次セクション参照）。それぞれの担インに特化したEnterprise Intelligence、Customer Intelligence、

当者は、自身の業務に適したアプリケーションを利用し業務に専念するこFinancial Intelligence、Supply Chain Intelligenceなどのビジネスソとができます。ユーザーアカウントには、
メタデータリポジトリにより、管理タ

リューションもこのプラットフォーム上に統合して提供しています。これらのスクでの権限やリソースへのアクセス権が設定されます。

ソリューション製品群は、Metadata Serverをはじめとして複数のサーバー

たとえば、
システム管理責任者は「無制限ユーザー」のユーザーアカウント群から構成されます。これらのサーバーは論理サーバーであり、1つのハーでSMCを利用し、メタデータの管理作業にのみ特化します。その他のシスドウェア上で複数のサーバーを稼働させることも可能です。実際に構成すテム管理者は「管理ユーザー」アカウントでSMCを利用し、メタデータ管理るシステム規模に応じて、サーバーを物理的に設置するか論理的に構成を行ないます。開発者はETLに関するメタデータの権限を持った任意のユーするかを判断する必要があります。

ザーアカウントでSAS ETL Studioを利用してデータを抽出・加工し、SAS
Information Map Studio を利用して出力表現（インフォメーションマップ）を作成します。ビジネスユーザーは、
システム環境を意識することなく、自身に与えられたリソースへのアクセス権が設定された任意のユーザーアカウン
トでSAS Enterprise Guideなどを利用して分析作業を行ないます。

6. SAS Intelligence Platformにおけるセキュリティ管理の概念
SAS Intelligence Platformにおいて、ユーザーやプロセスからのアクセス管理には「認証（Authentication）」という概念、データへのアクセス管理を「許可（Authorization）」という概念により、セキュリティを実装しています。これらの概念とテクノロジを理解することによりSAS Intelligence
Platformでのリソースへのアクセスコントロールを理解することができます。
認証については7章、許可については8章でご紹介します。
図5：SAS Intelligence Platformにおける各担当者の役割と業務の関係

7. SAS Intelligence Platform における認証「認証」は、特定のポリシーに基づいてユーザーの認証情報（IDやパスワー

SAS Intelligence Platformのクライアントプロダクトについては、SASド）を確認する手続きです。また、OMAでは、ユーザーの認証情報をメタデー

Technical News 2004 Summer 特集「SAS 9.1のご紹介」で解説してタリポジトリに格納することにより、シングルサインオンを実現します。

いますので併せてご参照ください。

「認証」の概念を理解しておくことで、SAS Intelligence Platformに基づ

5.3. SAS Intelligence Platformにおける規定ユーザーアカウント・システム内のセキュリティ実装に関する基本的な判断

SAS Intelligence Platformでは、管理・運用上の必要性に応じて、規定・作成すべきユーザーアカウントの決定のユーザーアカウントとして以下のものを定めています。

・定義すべき認証ドメインの計画

くシステムを構築する場合、以下のようなタスクを行なう際に役立ちます。

・メタデータリポジトリに格納すべき認証情報の特定グループ

ユーザーアカウント役割

SAS
Administrators

無制限ユーザー（sasadm）

アクセスコントロールテンプレート（ACT）（※1）で設定された権限設定に縛られることなくすべてのメタデータ管理を行なえる、管理に特化したユーザーです。アクセスコントロ
ールテンプレート（ACT）、メタデータアイデ
ンティティ（※2）のメンテナンスを行なえます。
システム管理者はこのアカウントを用いてSAS管理コンソールを利用し管理業務のみ行ないます。無制限ユーザーはSAS管理コ
ンソール以外のアプリケーションでは利用しません。1つのメタデータリポジトリに対し、一意のsasadmのみがこれらの権限を保有します。無 制 限 ユーザーは、M e t a d a t aServerの起動／停止／一時停止／再開などの管理タスクを実行することもできます。

管理ユーザーSAS
SystemServices

メタデータオブジェクトのメンテナンスを行なえる管理ユーザーです。管理ユーザーは無制限ユーザーとは異なりアクセスコントロー
ルテンプレート（ACT）に設定された権限の範囲でメタデータへアクセスできます。設定
により複数のユーザーを登録することも可能 です 。管 理 ユーザーは、M e t a d a t aServerの起動／停止／一時停止／再開などの管理タスクを実行することもできます。

WEB管理ユーザー（saswbadm）

SASポータルWEBアプリケーションの管理者ユーザーです。ポートレットの配置などの管理タスクを行ないます。ポータル内のコンテンツを管理する特権も有しています。

信頼ユーザー（sastrust）

Metadata Serverと通信し、ログオンユー
ザーに代わってObject SpawnerからSAS
プロセスを起動するユーザーです。ログオン
ユーザーがMetadata Serverのホストにアカウントを有していない場合でも、信頼ユー
ザーが代替してMetadata Serverから認証を受けてプロセスを起動できます。シングル
サインオンを実現するために必要です。

一般サーバーユーザー Stored Process Serverでのプロセスオー
ナーです。Stored Process Serverが（sassrv）
Metadata Serverと通信するときにもこのアカウントを使用します。
SAS
Guest
Users

ゲストユーザー（sasguest）

SAS環境のゲストユーザーです。メタデータ
への一般的なアクセスが行なえます。

デモユーザー（sasdemo）

SAS環境のデモユーザーです。システム導入時の検証作業や機能確認で利用します。

※表中に（sasadm）など括弧書きで表示されているユーザーは、システム導入時に事前に設定しておく必要があります。
※1 ... 8.2.で紹介します。
※2 ... 8.1.で紹介します。

7.1. 用語の定義「認証」の手続きでは固有の用語が利用されているため事前に「認証」における用語を紹介します。
● 認証「認証」は、ある特定のポリシーに定められた基準の範囲内でユーザーまたはプロセスのIDを検証する手続きです。認証情報に基づいて、ログインユー
ザーが行なうことのできる作業とアクセス可能なリソースが決定されます。
● クレデンシャル
ユーザーIDとパスワードの情報です。
● 認証プロバイダ
ユーザーのクレデンシャルを確認するテクノロジーを認証プロバイダと呼びます。デフォルトの認証プロバイダはホスト認証ですが、LDAPや
Microsoft Active Directory などのディレクトリサービスを認証プロバ
イダとして利用することも可能です。
● メタデータアイデンティティ
Metadata Server上のユーザーやグループを示すメタデータオブジェク
トです（図6左参照）。
● ログイン
メタデータアイデンティティが保持する、個々の認証ドメインにおけるク
レデンシャルを示すメタデータオブジェクトです（図6中央参照）。ユーザーが複数の認証ドメインに登録されている場合には、メタデータアイデンティ
ティが複数のログインを保有する場合があります。
● 認証ドメイン
個々の認証プロバイダによって管理されるドメインを表すメタデータオブジェ
クトです（図6右参照）。メタデータリポジトリ内でのみ有効な論理的なグループであり、ホストドメインまたはネットワークドメインとは異なります。
例）ホスト認証（z/OS, UNIX, Windows）、アプリケーション認証（Oracle, DB2）、
WEBサーバー認証など

図6：メタデータアイデンティティ/ログイン/認証ドメイン
図8：追加認証（1）初期認証
ユーザーがSASアプリケーションに最初にログインした時、もしくはメタデー

1. クライアントアプリケーションはMetadata Server にクレデンシャルを要求します。

タプロファイルを参照した際に、「初期認証」が行なわれます。クレデンシャ

2. Metadata Serverはメタデータリポジトリから、照会されたメタデータア

ルが認証プロバイダによって承認されると、Metadata Serverはメタデータ

イデンティティに 登 録されたログインのうち対 象 サー バー（ 例アイデンティティを決定します。ここでは、SASアプリケーションに最初にロWorkspace Server）のホストドメインまたはネットワークドメインのクレ

グインする場合を想定した具体例を利用して、実際の初期認証のステップ

デンシャルを照会します。

をご紹介します。この例で登場するユーザーである、
デモユーザー sasdemo

3. Metadata Serverはクレデンシャルを取得します。

は SAS ETL Power User グループに属していると仮定します。

4. Metadata Serverはクライアントアプリケーションにクレデンシャルを送信します。
5. クライアントアプリケーションは、対象サーバーにクレデンシャルを送信します。
6. 対象サーバーは自身の属する認証プロバイダにクレデンシャルを送信します。
（この例では、実際にはObject Spawnerがこの作業を行ないます。）
7. 認証プロバイダはクレデンシャルが有効であることを確認し、接続を受け入れます。
（この例では、実際にはObject Spawnerが要求されたユー
ザーのプロセスとしてWorkspace Serverを起動します。）

8. SAS Intelligence Platform における許可「許可」は、
どのユーザーがどのリソースに対してどのような権限を有しているかを確認する手続きです。ユーザーがメタデータや実際のSASデータ
セット、DBMSのテーブルやSAS Web Report Studioで作成したレポートなどへのアクセスや変更を行なう際に、そのユーザーが適切な参照や変更の権限を持っているかどうかを確認します。
「許可」の概念を理解しておくことで、SAS Intelligence Platformに基づくシステムを構築・運用する場合、以下のようなタスクを行なう際に役立ちます。
図7：初期認証

・複数の認証レイヤにまたがるリソースへのアクセスコントロールの管理
・メタデータ許可レイヤ上でのアクセスコントロールの定義

1. Enterprise GuideやAdd-In for Microsoft Office からデモユーザー
sasdemo ログオンを行うとユーザーIDとパスワードがMetadata
Serverに送信されます。
2. Metadata Serverは認証プロバイダにクレデンシャルを照会します。

8.1. 用語の定義「許可」の手続きでは固有の用語が利用されているため事前に「許可」における用語を紹介します。

3. 認証プロバイダは、ホストドメインもしくはネットワークドメインで認証されたユーザーをMetadata Serverに返します。
4. Metadata Serverはメタデータリポジトリから一致するメタデータアイデ
ンティティを検索します。
5. メタデータアイデンティティが確認されると、Metadata Serverは接続を受け入れ、どのメタデータオブジェクトを参照できるかの情報を提示します。

● 許可「許可」は、
どのユーザーがどのテーブルに対してどのレベルのアクセ
ス権限を有するかを決定する手続きです。ユーザーや所属するグループに基づいて特定のリソースに対する特定のアクションを「許可」または「拒否」するかどうかの決定が行なわれます。
● アクセスコントール（2）追加認証
Workspace ServerやStored Processサーバーなどの、認証が必要な別の対象サーバーにアクセス要求を行なった場合に、利用中のアプリケー
ションがサーバーに対してクレデンシャルを送信し認証を要求します。これ

特定のユーザーやグループに対して、特定のリソースへのアクセスを「許可」もしくは「拒否」する設定情報を指しています。
● 許可レイヤアクセスコントロールを提供するセキュリティフレームワークを指します。

により、対象サーバーは認証プロバイダに認証要求を行ないます。

具体的には、
オペレーティングシステム（以下OS）やDBMSのアクセス

以下の例では、既に初期認証が済んでいることを前提として、
クライアントコントロール機能が該当します。OMAは、許可レイヤのひとつとして、「メ

アプリケーションがWorkspace Serverに認証を行なう手順をご紹介します。

タデータ許可レイヤ」によるアクセスコントロールを提供します。

8.2. 「メタデータ許可レイヤ」（1）アクセス権の階層構造と継承
実際のアクセスコントロールは複数の許可レイヤによる階層構造となっており、● SASデータ
SASデータでは、定義されたアクセスコントロールを、SASアプリケーショ
ンサーバー、
ライブラリ、データセット、変数の順に継承されます。

最終的な権限は複合的に判断され、決定されます（図9参照）。OSレベル、
アプリ

Metadata Serverは、SASデータに対する「メタデータの読み込み」「メ

ケーションレベル、
メタデータレベルなどの許可レイヤが階層構造になっています。

タデータの書き込み」「メタデータのチェックイン」の権限について、すべての階層レベルのアクセスコントロールを提供します。
LIBNAME METAエンジンは、「作成」「読み込み」「書き込み」「削除」
について、データセットレベルのアクセスコントロールを提供します。変数は管理対象外です。
SASデータはETLカスタムツリーで定義されたアクセスコントロールによる多重継承の対象になります。SAS ETL Studioを利用している開発者は、ETLカスタムツリーを利用すると、作業中のメタデータオブジェ
クトに対してアクセス制限し保護することが可能です（ETLカスタムツリー
については別の機会にご紹介します。）

図9：アクセス権の階層構造

OMAは許可レイヤとして、「メタデータ許可レイヤ」を提供します。メタデータ

図11：SASデータにおける継承許可レイヤでは、メタデータオブジェクトに対してのアクセスコントロールを指定します。これは、Metadata Serverによって定義および評価されます。メタ● DBMS

データ許可レイヤもまた独自の階層構造を持っています。優先順位の高い

DBMSでは、定義されたアクセスコントロールを、DBMSサーバー、スキー

順に、「ダイレクトアクセスコントロール」、「継承されたアクセスコントロール」

マ、
テーブル、
カラム（列）の順に継承します。スキーマはSASライブラリ「リポジトリアクセス制御テンプレート」があります。加えて、メタデータ許可レに割り当てられるため、SASライブラリからも多重継承の対象になります。

イヤ上のアクセスコントロールによって割り当てることができない特定の管理

Metadata Serverは、DBMSデータに対する「メタデータの読み込み」

タスクに関しては、Metadata Serverのユーザー特権によって制御します。

「メタデータの書き込み」「メタデータのチェックイン」の権限について、すべての階層レベルのアクセスコントロールを提供します。
LIBNAME METAエンジンは、「作成」「読み込み」「書き込み」「削除」
について、
テーブルレベルのアクセスコントロールを提供します。カラム（列）は管理対象外です。
データベースオブジェクトは、ETLカスタムツリー定義されたアクセスコ
ントロールによる多重継承の対象になります。

図10：メタデータ許可レイヤ●「ダイレクトアクセスコントロール」
特定のリソースに対して明示的に設定されたアクセスコントロールです。
ダイレクトアクセスコントロールには、Access Control Entries（以下ACE）とAccess Control Templates（以下ACT）という2つのタイプがあります。ACEは、
もっとも優先度の高いアクセスコントロールで、単一のリソースに直接関連付けられた、それぞれのメタデータアイデンティティが持つ

図12：DBMSにおける継承権限の情報です。ACTは、複数のリソースに適用できる、再利用可能な認証テンプレートです。

●「リポジトリアクセス制御テンプレート（リポジトリACT）」
リポジトリ全体のメタデータオブジェクトに対して有効なアクセスコントロー●「継承されたアクセスコントロール」

ルです。リポジトリ作成時に、「デフォルトACT」という名称のリポジトリ

データソースもまた、
ライブラリやデータの格納単位によって階層構造

ACTが作成されます。新規にメタデータオブジェクトを作成した際にはを有しています。したがって、データソースは暗黙的に上位階層に位置

デフォルトACTのみが適用されています。

している格納単位のアクセスコントロールを継承します。またデータの格納単位は、単一のアクセスコントロールだけでなく、複数のアクセス
コントロールの制御下に置かれている場合もあります。この場合には多重継承によってアクセスコントロールが行なわれます。データソースにおける継承関係を、具体的なデータソースを利用して紹介します。

（2）メタデータアイデンティティの階層構造と優先ルール

8.4. メタデータ許可レイヤ外のアクセスコントロール

メタデータ許可レイヤでは、権限の競合を判断する際に、メタデータアイデ

メタデータリポジトリのアクセスコントロールによって割り当てることができンティティの階層構造を判定基準とします。ダイレクトアクセスコントローないアクセスを必要とするタスクについては、Metadata Serverの特別ユールが指定されたリソースで競合した場合や、複数のアクセスコントロール

ザーで区別します。特別ユーザーには「無制限ユーザー」「管理ユーザー」

テンプレートが設定されている場合に判断が行なわれます。優先ルールは「信頼ユーザー」の３種類が存在します。それぞれのユーザーの役割につ高い順に次の通りになっています。

いては、「5.2. SAS Intelligence Platformのクライアントプロダクトとユー
ザーアカウントの関係」で紹介していますのでご参照ください。

＜優先ルール＞
1. ユーザー個別のメタデータアイデンティティ

9. 関連情報

2. ユーザー定義グループに直接メンバとして登録されているグループ

9.1. 対応プラットフォーム

メンバシップ3. 所属するユーザー定義グループが登録されているグループメンバシップ

SAS Metadata Architectureが利用可能なプラットフォームは次の通りです。

4. SASUSERS暗黙グループ
5. PUBLIC暗黙グループ

HP HP-UX IPF 64 Bit

Linux

IBM AIX 64 Bit

Linux IPF

IBM z/OS

Microsoft Windows 32/64 Bit

Sun Solaris 64 Bit

9.2. インストールセンター
SAS9に関するシステム必要条件や管理運用上のドキュメントは以下のWebページに掲載しています。
・インストールセンター
http://www.sas.com/japan/service/installcenter/9.3. 認証と許可に関する詳細ドキュメント
7章、8章では認証と許可について概要をご紹介しました。より詳細な情報
は以下のドキュメントにてご確認ください。
図13：グループの階層構造

・「SAS 9.1.3 Intelligence Platform: Planning and
AdministrationGuide, Third Edition」

8.3. 許可のプロセス

http://support.sas.com/documentation/configuration/

ユーザーやプロセスがリソースにアクセスする際、「メタデータ許可レイヤ」

iaplanning913.pdf

では上述の優先ルールに基づいて最終的なアクセス権が決定されます。
実際には以下のステップによってリソースへのアクセスが可能かどうかが認証については、Part3

審査されます。

Understanding Authentication, P.155を、許可については、Part3

Security

Administration,

Chapter

10

Security Administration, Chapter 11 Understanding Authorization,
1. クレデンシャルの評価

P.185 をそれぞれご参照ください。

アクセスを行なったユーザーのクレデンシャルを特定し、メタデータアイ
デンティティを一意に特定します。
2. ダイレクトアクセスコントロールの評価

10. おわりに
今号では、SAS Metadata Architectureの概要についてご紹介しました。次ターゲットリソースに直接割り当てられたACEおよびACTを基準として号の特集では、実際の運用レベルに踏み込んだトピックをご紹介する予定

審査されます。

です。また、今号で特集した内容については、SAS Intelligence Platformを

3. 継承の評価
継承ルールは、すべてのターゲットリソースの親オブジェクトを特定するために適用されます。親オブジェクトに指定されたアクセスコントロール
は、各親オブジェクトに対してすべての評価プロセスを適用することにより審査されます。
4. リポジトリACTの評価
リポジトリACTを基準として、ユーザーまたはグループメンバシップに対して要求する権限を許可するか拒否するかが審査されます。リポジトリ
ACT内に競合する権限がある場合、これらの競合はメタデータアイデン
ティティの優先ルールに基づき審査されます。

導入済みもしくは導入を検討されているシステム管理者の方を対象にしたプログラマーズワークショップの開催も予定しております。

-3.14159;
RUN;● 小数点以下の桁数を指定して切り捨てを行なう方法

例2の結果● SQL文にOracleのhint文を組み込む方法● nヶ月先の同日日付を取得する方法

b=3.1415● SAS管理コンソールでデータベースライブラリを定義する方法

b=-3.1415● Excelの日付値および日時値の取り込みについて●［プログラムの新規作成］および［プログラムを開く］
メニュー項目の追加
なお、上記の手順をSASマクロにして使用することもできます。

● 次オブザベーションの値を参照する方法● SAS ETL ServerのLSF JobSchedulerのアンインストールについて/* マクロの定義 */● SAS9でのライセンスの更新について● Solaris10のサポートについて%MACRO d_omit(var,d);● マクロ変数の存在確認%*** 小数の桁数を指定して切り捨て ***;

● 各国語サポート（NLS）に関するドキュメントについて%***

var: 変数***;● 度数変数を考慮に入れた順位付けについて

%***

d:

桁数

***;

● 生存曲線のグラフにおける軸の設定

INT(&var*(10 ** &d)) / 10 ** &d%MEND d_omit;

小数点以下の桁数を指定して、切り捨てを行なう方法はあり

DATA a;

ますか？四捨五入はROUND関数で可能ですが、数値の切りa=3.14159;

捨てをしたいと考えています。たとえば、「1.2345」を小数点

b=%d_omit(a,3);

以下第3位までで切り捨てて、「1.234」を求めるような方法です。

/* マクロの呼び出し *//* 値の確認 */PUT b=;
RUN;

小数点以下の桁数を指定して切り捨てを行なう関数はサポートされていませんが、INT関数を利用して、任意の桁で切り捨てした値を求められます。
SQLプロシジャで実行するSQLに、Oracleのhint文 （ /*+hint文 */ ）を組み込んで検索を行なうことを検討しています。

例1：小数点以下第3位までで切り捨てる

しかし、「/*」と「*/」で挟まれた文字列は、SASではコメントとして扱われてしまうため、実際にOracleに受け渡されるSQL文からはhint

DATA a;INPUT a;文が削除された状態になってしまいます。hint文を有効にするにはどうしたら

b=INT(a*(10 ** 3)) / 10 ** 3;

よいでしょうか。

PUT b=;/* 値の確認 */S Q L プ ロ シ ジャ の C O N N E C T ス テ ートメントに

CARDS;
3.14159

PRESERVE̲COMMENTSオプションを指定することで、「/*」-3.14159と「*/」で挟まれた文字列を有効にできます。

;
PROC SQL;RUN;

CONNECT TO ORACLE AS test_sql(
USER
例1の結果

= USER

ORAPW = "ORAPW"
PATH= "PATH"

b=3.141

BUFFSIZE = 400

b=-3.141

PRESERVE_COMMENTS);/* Oracle hint を有効にする */CREATE VIEW work.testdata AS
例2：小数点以下第4位までで切り捨てる

SELECT * FROM CONNECTION TO test_sql(
SELECT /*+ Oracle hint文 */col1,col2 FROM a

DATA a;);INPUT a;DISCONNECT FROM test_sql;

b=INT(a*(10 ** 4)) / 10 ** 4;
PUT b=;CARDS;
3.14159/* 値の確認 */QUIT;

「2004/12/25」から「2005/01/25」、また「2004/12/02」から「2005/02/02」など、基準となる日付からnヵ月後の同日のSAS管理コンソールにおいて、データベースライブラリを定日付を求めるにはどうしたらよいでしょうか。

義する方法を教えてください。

SAS日付を年月の単位で移動させる関数には、INTNX関数

SAS管理コンソール（以下SMC）でデータベースライブラがあります。INTNX関数は、基準となる日付に対し、以下のリを定義するには、次のような手順で作業します。ここでは、構文で指定します。

データベースがOracleである場合を例にしてご紹介します。

1ヵ月後

INTNX('MONTH',基準日付,1);

1. Oracleに接続するユーザーの作成

2ヵ月後

INTNX('MONTH',基準日付,2);

2. Oracleデータベースサーバーの定義
3. Oracleデータベーススキーマの定義

ただしINTNX関数は、デフォルトではnヵ月後の月の初日を返します。

4. Oracleライブラリの定義

つまり、2004年11月26日を基準日付にした場合、以下のような値を返します。

5. メタデータのロード
注意：「5. メタデータのロード」は、無制限ユーザー（sasadm）では行なう

1ヵ月後

2004年12月1日（に相当するSAS日付値）

2ヵ月後

2005年1月1日（に相当するSAS日付値）ことができません。
1. Oracleに接続するユーザーの作成

したがって、nヵ月後の同日日付を求めるには少し工夫が必要になります。

ユーザーマネージャを開きます。この例ではユーザーを新規作成する手順

以下にプログラム例と解説を記載しますので、参考にしてください。

から紹介します。

/* サンプルデータ作成 */1 右クリックしてメニューを表示し、［新規作成］で、任意の名称でユーザーを作成します。

DATA days;

2 ［一般タブ］の名前にユーザー名を入力します。

INPUT hizuke YYMMDD10.;CARDS;

3 ［ログイン］
タブに移り、［新規作成］ボタンをクリックします。

2004/01/01

4 ［新しいログインのプロパティ］
ウィンドウで、ユーザーID（ドメイン名\ユ2000/02/29

ーザー名）、パスワード、認証ドメインを入力します。

2003/02/28

認証ドメインは、デフォルトでは「DefaultAuth」が登録されています。

2004/12/02「DefaultAuth」以外に認証ドメインを追加する場合には、［新規作成］

2004/12/25

ボタンをクリックし、［認証ドメインの新規作成］ウィンドウで、認証ドメイ;ンの名前と説明を入力します。
認証ドメインの名称に制限事項はありませんが、認証ドメインの認証プ/* 1ヵ月後の日付計算 */認証ドメインを作成後、［新しいログインのプロパティ］ウィンドウに戻り、DATA temp;

認証ドメインを上記で新規作成したものに指定して、［OK］
を選択します。

SET days;daydiff

ロバイダが明確に判断できるようなものにすることをお勧めします。

5 Oracleデータベースに接続する際のユーザーを追加します。
［新規作成］= DAY(hizuke)-1;monthafter = INTNX('MONTH', hizuke, 1)+ daydiff;

ボタンをクリックします。
6 ［新しいログインのプロパティ］
ウィンドウで、ユーザーID、パスワード、

FORMAT hizuke

YYMMDD8.

monthafter YYMMDD8.;
RUN;

認証ドメインを入力します。ユーザーIDとパスワードは、Oracleのものを使用します。
認証ドメインには、「DefaultAuth」などが登録されています。Oracle接続用の認証ドメインを追加するため、［新規作成］ボタンをクリックします。
4 での作業と同様に、認証ドメインの名称と説明を入力します（例：OracleAuth）。
上記のプログラムでは、与えられた基準日付hizukeがその月の1日から何認証ドメインを作成後、［新しいログインのプロパティ］ウィンドウに戻り、日後であるかを求め、daydiffに格納します。hizuke が2004年11月26日な認証ドメインを先ほど設定したもの（この例では「OracleAuth」）に指らば、daydiffは25となります。

定して［OK］を選択します。

ここで、「1ヵ月後の日付 = 1ヵ月後の月初 + daydiff」と考えられますので、
INTNX関数を使用して1ヵ月後の日付を求めています。
ただし上記のプログラムでは、うるう年でない年の1月29日の1ヶ月後の日
付は、2月29日が存在しないために「3月1日」となりますのでご注意ください。

2. Oracleデータベースサーバーの定義
サーバーマネージャで、Oracleデータベースサーバーを登録します。
［新規

6 これまで入力した情報が表示されます。設定内容が正しいことを確認し、［完了］を選択します。以上で、Oracleデータベーススキーマの定義は完了です。

サーバー］ウィザードに沿って設定を行ないます。
4. Oracleライブラリの定義
1 ［新規作成］
を選択します。

データライブラリマネージャにて、OracleデータベースにSASライブラリを

2 定義するサーバーを選択します。

登録します。

［サーバーテンプレート］→［サーバー］→［データベースサーバー］→［Oracle
サーバー］の順に選択し、［次へ］をクリックして進みます。
3 登録するOracleサーバーに任意の名称を付与し（例：「Oracle9i」）、［次へ］で進みます。

1 ［データライブラリマネージャ］＞［SASライブラリ］
にて、右クリックしてメニューを表示し、［ライブラリの新規作成］を選択します。
2 定義するサーバーを選択します。

4 サーバーのプロパティを入力します（下記は入力の一例です）。

［リソーステンプレート］→［ライブラリ］→［データベースライブラリ］→［Oracleサーバー］を選択し、［次へ］をクリックして進みます（LIBNAME

メジャーバージョン番号9

マイナーバージョン番号2

ソフトウェアバージョン

9.2.0.1.0

ベンダー

Oracle Corporation

名前が、SMCのナビゲーション領域と表示領域に表示されます。入力後、使用するマシンSAS Server01［次へ］をクリックします。

ステートメントのENGINEオプションに相当します）。
3 ライブラリ名を設定します。

ライブラリ名とライブラリの簡単な説明を入力します。ここで指定した

4 ライブラリ参照名を設定します。

「使用するマシン」に登録がない場合には［新規作成］ボタンをクリックし、サーバーのマシン情報を新たに登録します。入力後、［次へ］をクリックします。
5 接続プロパティを設定します。次のように、Oracle Serverへの接続に関する情報を入力後、［次へ］をクリックします。

ライブラリに名前（1〜8文字）を付けます。先頭の文字は英文字のみ、残りの文字には英文字および数字を使用できます。入力後、［次へ］をクリックします。
5 外部データベースサーバーを指定します。

「2. Oracleデータベースサーバーの定義」で設定したOracleサーバー
パス

Oracleドライバ、ノードおよびデータベースを指定します。
Oracleに直接接続するときに使用するOracleパスと同じパスを指定します。
LIBNAMEステートメントのPATH=オプションに相当します。

と、「3. Oracleデータベーススキーマの定義」で設定したOracleデー
タベーススキーマを選択します。選択後、［次へ］をクリックして進みます。
6 ライブラリを割り当てるSASサーバーを指定し、［次へ］をクリックします。

ドメイン

Oracleサーバーへのログインの認証に使用するドメインを指定します。
この例ではOracleAuthを作成しました。

7 これまで入力した情報が表示されるので、設定内容が正しいことを確認

し、［完了］を選択します。以上で、ライブラリの定義は完了です。
8 LIBNAMEステートメントを確認します。

6 これまでに入力した情報が表示されます。設定内容が正しいことを確認

し、［完了］を選択します。以上で、Oracleサーバーの定義は完了です。

上記で定義したライブラリを選択した状態で右クリックしてメニューを表示
し、「LIBNAMEの表示」を選択します。以下のようなLIBNAMEが表示さ

3. Oracleデータベーススキーマの定義れます。

SMCのデータライブラリマネージャにて、Oracleデータベーススキーマを作成します。

LIBNAME Oralib ORACLE PATH=SAS SCHEMA=SCOTT USER=scott
PASSWORD="{sas001}***********" ;1［データベーススキーマ］で右クリックしてメニューを表示し、［データ

ベーススキーマの新規作成］を選択します。
2 「新規データベーススキーマウィザード」が表示されます。新規データ

5. メタデータのロード

ベーススキーマウィザードでは、既存のデータベーススキーマファイルへ※この作業は無制限ユーザー（sasadm）以外の権限を持ったユーザーで行なう必要があります。

のメタデータ参照を定義します。
［リソーステンプレート］→［データベー

ステップ4で作成したライブラリに、Oracleテーブルのメタデータをロードしススキーマ］→［Oracleスキーマ］を選択し、［次へ］をクリックします。

ます。

3 定義するスキーマの名前と簡単な説明を入力します。
4 ここで指定した名前が、SMCのナビゲーションツリーと表示領域に表示されます。説明の入力は任意です。入力後、［次へ］をクリックします。
5 データベースのデータへのアクセスに使用するデータベーススキーマ

1 ［データライブラリマネージャ］→［SASライブラリ］→［Oracleライブ

ラリ（先ほど登録したもの）］を選択し、右クリックしてメニューを表示し、［テーブルのインポート］を選択します。

のスキーマオプションを指定します。入力後、［次へ］をクリックします。

2 データソースへ接続するSASライブラリを指定します。内容を確認し、［次データベースのデータにアクセスする際に使用する既存のデータベー
ススキーマに名前（1-8文字）を付けます。開始文字は英文字にする必要がありますが、残りの文字には英文字や数字を使用できます。
この値はLIBNAMEステートメントのSCHEMA=オプションに相当します。
既存のデータベーススキーマの参照となるスキーマを定義するため、
このフィールドの値はスキーマファイル名と完全に一致(大文字小文字を含む)する必要があります。

3 登録するOracleテーブルを選択します。すべてのテーブルを登録する

へ］進みます。この作業により、Oracleデータベースに接続が行われます。

名前

場合には、
［テーブルをすべて選択］ボタンをクリックします。選択後、［次へ］進みます。
4 登録されたテーブルの名称を確認し、［完了］を選択します。

以上で、Oracleテーブルのメタデータロードは完了です。
このスキーマが定義されているサーバーを指定します。
サーバー 「2. Oracleデータベースサーバーの定義」のステップで登録したOracle
サーバー（例：Oracle9i）を選択します。

SAS9.1のIMPORTプロシジャでExcelファイルを読み込んでいます。Excel上での日時値が、SASデータセットには日付※ データセットの結合（マージ）を行なっているため、データ量が多い場合は処理に時間がかかる可能性もありますのでご注意ください

値となって取り込まれます。日付値ではなく日時値として取り込むことはできますか。

DATA one;
INPUT x y;

SAS8.2のIMPORTプロシジャでは、「2005/04/01」や

CARDS;「2005/04/01 12:00:00」などの日付値や日時値は、いずれ

5 1

もSAS日時値としてSASデータセットに取り込まれます。

5 2

SAS9.1では、IMPORTプロシジャに対して、新しくUSEDATE=オプション

8 1を指定できるようになりました。

2 1

USEDATE=オプションにはYESかNOを指定しますが、デフォルト値は

2 2

YESであり、Excelの日時値をSAS日付値として取り込みます。SAS日時

9 1

値として取り込む場合には、NOを指定します。

;
RUN;

PROC IMPORT DBMS=EXCEL OUT= work.sample
DATAFILE= "C:¥temp¥sample.xls" REPLACE ;DATA two;

SHEET="Sheet1";

MERGE one one(FIRSTOBS=2 RENAME=(x=nextx) KEEP=x);

GETNAMES=YES;

IF x=nextx THEN match='YES';/* 日付値および日時値をSAS日時値として取り込む */USEDATE=NO;

ELSE match='NO';
RUN;

RUN;
PROC PRINT DATA=two;
RUN;
Windows版 SAS System8では、既存のSASプログラムを読み込む際には、
エディタウィンドウで［ファイル］
メニューの［開く］
を選択していましたが、SAS9ではエディタウィンドウをアクWindows環境では、Platform Job Schedulerのアンイン

ティブにしても［開く］という項目が見つかりません。
その代わり、［プログラムストールは、コントロールパネルの｢プログラムの追加と削除｣の新規作成］と［プログラムを開く］という項目が追加されたようですが。

から行なうことができますが、同時にインストールされる｢LSF
JobScheduler｣については、｢プログラムの追加と削除｣には表示されず、

SAS9から、プログラムの新規作成や、既存プログラムの読み

またアンインストール用のショートカットも見あたりません。

込みのために、エディタウィンドウの［ファイル］メニューに［プどのようにアンインストールをすればよいでしょうか。

ログラムの新規作成］および［プログラムを開く］が追加されまずました。SAS8では、エディタウィンドウにプログラムを読み込む場合、インストールメディア｢Platform Jobscheduler for SAS

エディタウィンドウをアクティブにしなければ、［開く］が表示されませんでし（Windows）｣内を参照し、｢lsfjobsched｣フォルダ内に格た。SAS9では、［プログラムの新規作成］および［プログラムを開く］が追納されている｢lsf5.1̲w2k̲nt.exe｣をクリックして、インストー加されたため、
どのウィンドウがアクティブであっても、SASプログラムの新ルプログラムを起動してください。

規作成および読み込みが可能になりました。

インストールプログラムを一時フォルダに展開後、表示されるインストール
メニューより｢uninstall｣を選択することで、アンインストールできます。

現在読み込まれているオブザベーションの値と、次に読み込
まれるオブザベーションの値を比較したいのですが、何か良い方法はありますか。
次オブザベーションの値を参照する関数はありませんが、デー
タセットを自己結合することで同様の作業が可能となります。
結合される側のデータセットを「A」、結合する側を「À」とした時、FIRSTOBS=オプションに「2」を指定することで、Àの2オブザベーショ
ン目からデータを読み込むようにします。これにより、Aの1オブザベーショ
ン目とÀの1オブザベーション目（実際の値はAの2オブザベーション目に相当）が結合されることになります。
下記のプログラム例では、データセットoneを1オブザベーションずらして自己結合し、データセット twoに比較の結果を出力しています。

以下に、各関数の使用例を示します。
SAS 9.1以降での、ライセンス更新方法を教えてください。

OPTIONS NOMPRINT;DATA sample;

弊社Webサイトのインストールセンターにて、ライセンス更INPUT char $ @@;新についてのドキュメントを公開しています。

CARDS;

ご利用のプラットフォームおよびSASのリリースを選択し、

x y z｢Foundationの更新｣のPDFファイルをご確認ください。
・インストールセンター
http://www.sas.com//japan/service/installcenter/;
RUN;%GLOBAL x;%MACRO test;

また、SASの最新リリースであるSAS 9.1.3のライセンス更新方法に関して%LOCAL y;は、次の各ドキュメント（PDF）
をご参照ください。

DATA _NULL_;

・Windows版

SET sample;

http://www.sas.com/japan/service/installcenter/windows/91/

IF SYMEXIST(char) = 0

ts1m3/win̲setinit̲j.pdf

THEN PUT char "は存在しません";

・UNIX版

ELSE IF SYMGLOBL(char)

http://www.sas.com/japan/service/installcenter/unix/91/

THEN PUT char "はグローバルマクロ変数です";ts1m3/unix91̲setinit̲j.pdf

ELSE IF SYMLOCAL(char)
THEN PUT char "はローカルマクロ変数です

なお、SAS 8.2におけるライセンス更新方法に関しては、次のURLをご参
照ください。

";
RUN;

・ライセンス情報（SETINIT）適用の手引き
http://www.sas.com/japan/service/technical/setinit/

Solaris 10のサポートは、
どのようになっていますか。

%MEND test;%test;

日本語を処理するためのDBCS関数や、入出力形式に関して記載されたドキュメントはありませんか。

SAS9は、SPARC版 Solaris 10に対応しています。なお、米SAS 9.1.3のオンラインヘルプで、「SAS 各国語サポート（NLS）:

国SAS社からは以下のようにアナウンスされています。

利用の手引き」を参照できます。

・SAS9 runs seamlessly on Sun s new Solaris 10
http://www.sas.com/news/preleases/111504/news1.html

SASのメニューから「ヘルプ」 → 「SASヘルプとドキュメン
ト」をクリックし、「SAS ヘルプのドキュメント」を起動します。
「目次」の項目から、「SASプロダクト」の「+」マークをクリックして項目を展開すると、「SAS

なお、Intel版 Solaris 10についてはこの限りではありません。ご不明な点

各国語サポート（NLS）：利用の手引き」を参照できます。

については、弊社テクニカルサポートまでお問い合わせください。

この利用の手引きでは、DBCSを含む各国言語に関する概要や新機能、関数、入出力形式、各種オプションの利用法などが記載されています。

マクロ変数が存在するかどうかを確認する方法はありますか。

ある変数について順位付けを行なうとき、度数変数を考慮に入れた上で順位を与えることはできますか。

SAS9から新たに下記の関数が追加されました。
これらの関数を使用することで、マクロ変数の存在チェックや、

順位付けを行なう場合、通常はRANKプロシジャが利用されグローバルマクロ変数・ローカルマクロ変数の区別を簡単

ますが、FREQステートメントがサポートされていないため、
この質問のケースには対応できません。

に確認できます。

このような場合、TRANSREGプロシジャを使用して順位付けを行なうこと
SYMEXIST関数

マクロ変数が存在するかどうかを確認します

SYMGLOBL関数 そのマクロ変数がグローバルマクロ変数であるかどうかを確認します
SYMLOCAL関数

そのマクロ変数がローカルマクロ変数であるかどうかを確認しますができます。MODELステートメントで変数変換方法RANKを使用し、同時にFREQステートメントで度数を表す変数を指定してください。なお、値の小さい方から順に1、2、3、・・・のように割り当てられます。
また、
タイが存在するときには平均の順位が与えられます。

/* サンプルデータの作成 */その後、新しく作成した変数（new̲trt）でデータセットの並べ替えを行なった後、GPLOTプロシジャを指定して作図します。

DATA test;
INPUT y @@;/* 作成した変数NEW_TRTを用いて並べ替え */freq=1+INT(RANUNI(123)*10);
PROC SORT DATA=out;

x=RANUNI(123)*10;

BY new_trt;

CARDS;
1 5 3 3 1*/;

PROC FORMAT;VALUE temp 1="trt=1" 2="Censored trt=1"

RUN;

3="trt=2" 4="Censored trt=2";/* TRANSREGプロシジャ */RUN;

PROC TRANSREG DATA=test DESIGN;MODEL RANK(y x/NAME=(rank_y rank_x));
OUTPUT OUT=out(DROP=Intercept _name_ _type_);/* GPLOTプロシジャにてグラフの作成*/
PROC GPLOT DATA=out;
PLOT SURVIVAL*time=new_trt / VAXIS=axis1 HMINOR=0;/* 生存曲線のためのSYMBOLを指定 */FREQ freq;
ID y x;RUN;

SYMBOL1 W=1 L=2 I=STEPLJ

CI=blue V=none;

SYMBOL2 W=1 L=1 I=STEPLJ

CI=red/* 出力されたSASデータセットの確認 */V=none;/* 打ち切り点のためのSYMBOLを指定 */

PROC PRINT DATA=out;

SYMBOL3 H=1.3

I=NONE V=circle CV=blue;

RUN;

SYMBOL4 H=1.3

I=NONE V=circle CV=red;

AXIS1 LABEL= (ANGLE=-90 'Probability')/* 縦軸の指定 */ORDER = (0 to 1 by .50) MINOR = none OFFSET = (0.2)PCT;
LIFETESTプロシジャで「PLOTS=（S）」と指定し、生存曲線のグラフを作成しています。
このグラフにおける軸の設定

RUN;等を変更することはできるのでしょうか。

QUIT;

LIFETESTプロシジャでは、CENSOREDSYMBOL=オプションのように打ち切りの点を示すシンボルを指定するなど、一部のオプションがありますが、軸の設定などより詳細な設定を行なうことができません。
しかし、PROC LIFETESTステートメントのOUTSURV=オプションを指定することによって、グラフを作成する際の元となる情報をデータセットに出力することができます。このデータセットを用いれば、GPLOTプロシジャで、軸の設定変更を加えた生存曲線のグラフを作成することができます。
具体的には、GPLOTプロシジャで作図をする前に、打ち切りの点を表示するために、一部データセットの加工を行ないます。たとえば、変数TRTをSTRATAステートメントで指定し、OUTSURV=オプションにてデータセット
OUTを作成した場合には、以下のような加工となります。
/* 打ち切り点表示のため、データセットを加工*/
DATA out;
SET out;
BY STRATUM;
new_trt = trt;
OUTPUT;/* 各群における打ち切りの情報を追加 */IF _CENSOR_=1 THEN DO;
IF trt=1 THEN new_trt=3;
ELSE IF trt=2 THEN new_trt=4;
OUTPUT;
END;
RUN;

FORMAT new_trt temp.;

・データベースの設計
・SQL入門・ディクショナリテーブルと各種テーブル
・SQLプロシジャロジックのコーディングおよび複合クエリ
・各種ビューにおける作業
・SQLプログラミングのトラブルシューティングとデバッグ
・パフォーマンスの調整
各種データベースの利用が高まる中、いまやSQL言語を選択するのは「SAS OnlineDoc 9.1.3: PDF Files」

SASユーザーの中でも世界的な流れとなっています。中級〜上級ユーザ

注文番号：60395

ーの方にも、本書の簡潔な説明と豊富な用例は十分に価値のあるもので価しょう。より専門的な成果を得るためにも、本書をぜひご活用ください。

格：47,880円(税込）「SAS OnlineDoc 9.1.3」は、通常HTML形式で提供している各種マニュアルをPDFファイルに変換し、1枚のCD-ROMに収めたものです。この「Managing Data Mining: Advice from Experts」

CD-ROMがあれば、各種PDFファイルをご利用の目的に合わせてページ

注文番号：60368

単位からドキュメント１冊、全ドキュメントまで、
自由に閲覧し印刷することが価可能になります。各ドキュメントには目次や各種ブックマークが設置され、本書は、米国有数の企業で活躍する、データマイニングや多変量モデリン

格：5,775円(税込）

必要な項目の検索が簡単かつ迅速に行なえます。さらに、付属の総リファ

グ分野のエキスパートユーザーから提供された、ビジネスアプリケーション

レンスでは、
ブックマークやインデックスから各ファイルへのリンクが設置さ集です。ユーザー自身が、リスク管理、生産性の向上、あるいは市場でのれているため、膨大なファイルを横断的に自在に検索・印刷することが可利益を増進させるにあたって数量モデルが果たした役割について、価値あ能です。SAS9に関するマニュアルは、米国SAS Institute社のWebサイト

る洞察を提供しています。またさらに、データの収集・クレンジングおよび整（http://support.sas.com/v9doc）から無料でご利用いただけるほか、理といったデータ管理の分野における、データマイニングの活用・多変量

SASのヘルプメニューから、「SASヘルプとドキュメント」を選択してご覧

モデリングにおいても対応しています。本書は、SASを利用した具体的ないただくことも可能です。

事例は含まれていませんが、SASの利用に関係した概念に触れ、SASユー※ このCD-ROMに収録された文書の閲覧にはAdobe Reader 6.0 以降が必要です。

ザーの専門的なリソースのひとつとして提供されます。

「Analysis of Clinical Trials Using SAS: A Practical Guide」
注文番号：59390「SAS 9.1.3 OLAP Server: Administrator's Guide,
Second Edition」

価

注文番号：60445

格：13,440円(税込）

本書は、実際の臨床試験用アプリケーションと最新の統計学的方法論の

価間のギャップを埋める包括的な総合ガイドブックです。本書では、実際の本書は、SAS OLAP Serverソフトウェアにおける環境の構成および設定、

格：3,885円(税込）

臨床検査やケーススタディを例に、臨床検査の環境において統計学的方

セキュリティ、監視に関するガイドブックです。オンラインでも入手可能です。

法とその妥当性を決定する機能を果たし、また、SASを活用した迅速で効率的な実行方法を解説しています。本書の内容は、ICH（International

SAS Learning Edition リリース 2.0値下げのご案内

Conference on Harmonization：日米EU医療品規制調和国際会議）に発売以来、多くの方にご利用いただいているSAS Learning Edition リリ

よるガイドラインを反映しています。層別データ・不完全なデータ・複数のース 2.0を2005年4月1日より値下げいたしました。

推論の分析、安全性と有効性のモニタリングにおいて発生する諸問題や、安全の強化と診断方法に関する基準範囲といった、臨床試験における重一般利用

47,250円(税込)

要な統計的問題に対応しています。すぐに使えるSASマクロおよびプログ

アカデミック利用

36,750円(税込)

ラム例を多数収録し、臨床に携わる統計学者、研究者、および生物統計学を専攻する学生に、ご利用いただきたい一冊です。

SAS Learning Edition リリース2.0は、SASの効率的な習得を支援する
個人学習用パッケージです。
SAS特有の用語やエディタ、プログラムの作成方法、計算結果の解釈な「PROC SQL: Beyond the Basics Using SAS」

どに煩わされることがなくなるため、SASのスキルアップに絶大な効果を発

注文番号：58316

揮します。さらに、
リリース2.0では使用期限を2008年12月31日まで延長い価たしました。

格：9,450円(税込）

SQLプロシジャをより迅速かつ的確に活用するには、ステップごとに順を追った説明と、豊富な用例が記載された本書を手元に置くことをおすすめ

詳しくは弊社ホームページをご参照ください。

します。本書は、米国規格協会（ANSI）のガイドラインに準拠した機能だけ

http://www.sas.com/japan/manual/le.html

でなく、非準拠の機能についてもカバーしているため、アプリケーションプ
ログラマー、データベース設計者／アドミニストレータ、統計学者、システ
ムアナリストなど幅広いユーザー層に役立つ内容となっています。本書の活用により、データへのアクセス、データの操作、さらにはプレゼンテーショ
ン能力の向上が期待できることでしょう。
本書の内容は、右記のとおりです。

マニュアル販売係●T

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

● 「医学研究における繰り返しイベントデータの解析」
日 程：7月30日（土）14：00〜17：00
価 格：１セッションあたり費用
一般参加者：21,000円（税込）
学術総会参加者：18,375円（税込）
講 師：東京大学大学院 医学系研究科 生物統計学／疫学・予防保健学
分野 山口拓洋 助手
会 場：SAS Institute Japan株式会社 東京本社8Fプレゼンテーションルーム

新規ご契約時／ご契約更新時割引サービスのご案内
SAS製品の新規ご契約時、または既存のご契約を更新いただいた際にお送りするお知らせに、「トレーニング割引のご案内」を同封しております。それぞれ、
トレーニングをお得な価格で受講いただけるサービスですので、ぜ※「SAS Learning Session 2005」の詳細については、順次弊社ホームページにてお知らせ
いたします。
※「SAS Learning Session2005」への参加につきましては、「SAS Forumユーザー会 学術
総会 2005」とは別途に参加費がかかります。

ひご利用ください。なお、いずれのサービスについても、「トレーニング割
引のご案内」添付の専用用紙にてお申し込みください。

SAS Institute Japan株式会社では、今後も多岐にわたったトレーニング※ ご案内がお手元にない方は、貴社のSAS契約担当者様にお問い合わせください。

コースを追加していく予定です。コース内容・日程等の詳細は、順次弊社
Webサイトに公開しますので、以下のURLをご参照ください。

■ 新規ご契約時

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

ご契約日から3ヶ月以内にお申し込みをいただいた場合に限り、下記の各

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

コースをそれぞれ2名様まで割引価格で受講いただけます。

だくか、下記トレーニング担当までお問い合わせください。

適用コース

割引率

●「SASプログラミング I」●「SAS Enterprise Guide 操作入門」

通常価格から20％割引●「統計概論」■ ご契約更新時
ご契約更新月の月末までにお申し込みをいただいた方に限り、ご希望の定期ト
レーニングをのべ5コースまで※、通常価格から20％割引で受講いただけます。
※ 例：1コースを5名様で受講／2コースを2名様と3名様で受講・契約更新月により、申込用紙の有効期限が異なる場合があります
・日程・コースの変更は可能ですが、キャンセルはできませんのでご了承ください
・代理の方が受講することも可能です
・お申し込み受付後、受講者様宛てに受講票をお送りします
・請求書は、最初のコース受講後にお送りします
・他の割引との併用はできません

医薬向けプロフェッショナルコース開催のご案内
2005年4月以降の医薬向けプロフェッショナルコースの予定をご案内します。

● 「SASによる遺伝子多型データの解析入門」
日 程：6月2日（木）10:00〜17:00
価 格：50,400円（税込）／チケット捺印数 1
講 師：東京大学大学院医学系研究科
会 場：SAS Institute Japan株式会社 東京本社７Fトレーニングルーム

SAS Learning Session 2005開催のご案内
昨年度開催した「SAS Learning Session2004」をご好評につき、今年も開催いたします。

● 「医学研究におけるベイズ統計学入門」
日 程：7月30日（土）9：30〜12：30
価 格：１セッションあたり費用
一般参加者：21,000円（税込）
学術総会参加者：18,375円（税込）
講 師：東京大学大学院 医学系研究科 生物統計学 松山裕 助教授
会 場：SAS Institute Japan株式会社 東京本社8Fプレゼンテーションルーム

トレーニング担当●T

E L 03-3533-3835
A X 03-3533-3781● E-mail JPNTraining@sas.com●F■PCプラットフォーム
Windows版

SAS 9.1.3

9.1 TS1M3

Windows（64-bit）版

SAS 9.1.3

9.1 TS1M3■ミニコンピュータプラットフォーム
OpenVMS AXP版

SAS 6.12

TS020

OpenVMS VAX版

SAS 6.08

TS407■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

富士通版（F4, MSP）

SAS 6.09E

TS470

日立版（VOS3）

SAS 6.09E

TS470

CMS版

SAS 6.08

TS410

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

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

TS1M3