サブジェクト領域クラスのリファレンス情報
サブジェクト領域は、テーブルの SQL ビューに似ています。サブジェクト領域は、複数のキューブを必要とせずに、より小さなデータ・セットに焦点を当てることのできるサブキューブです。また、サブジェクト領域を使用すると、キューブのキャプションおよび既定値をカスタマイズできます。
ここには、サブジェクト領域クラスのリファレンス情報が記載されています。
"InterSystems Business Intelligence の上級モデリング" の "キューブおよびサブジェクト領域の高度な機能の使用" も参照してください。
変更を加えた後は、サブジェクト領域クラスをリコンパイルする必要があります。
"このドキュメントに示したサンプルのアクセス方法" も参照してください。
サブジェクト領域クラスの要件
サブジェクト領域を定義するには、以下の要件に合致したクラスを作成します。
-
%DeepSee.SubjectAreaOpens in a new tab を拡張する必要があります。
-
SubjectArea という名前の XData ブロックを格納している必要があります。
-
この XData ブロックに対して、以下のように XMLNamespace が指定されている必要があります。
XMLNamespace = "http://www.intersystems.com/subjectarea"
-
XData ブロック内のルート要素が <subjectArea> であり、この要素がこのページの他の部分に記載された要件に従っている必要があります。
-
クラスで DependsOn キーワードを指定することによって、キューブ・クラスがコンパイルされて使用できるようになった後にのみ、このクラスがコンパイルされるようにすると便利です。ただし、必ずしもそうする必要はありません。
-
クラスでは DOMAIN パラメータを定義できます。これによってローカライズされた文字列が属するドメインが指定されます。以下はその例です。
Parameter DOMAIN = "PATIENTSAMPLE";
詳細は、"InterSystems Business Intelligence の実装" の "ローカライズの実行" を参照してください。
以下はその例です。
Class BI.Model.SubjectAreas.AsthmaPatients Extends %DeepSee.SubjectArea [DependsOn=Cubes.StudyPatients]
{
/// This XData definition defines the SubjectArea.
XData SubjectArea [ XMLNamespace = "http://www.intersystems.com/deepsee/subjectarea" ]
{
<subjectArea name="AsthmaPatients"
displayName="Asthma Patients"
baseCube="Patients" filterSpec="diagd.h1.diagnoses.asthma" >
</subjectArea>
}
}
スタジオでは、入力に応じたサポートが提供されます。
サブジェクト領域の共通属性
サブジェクト領域内の要素の大部分には以下の属性があります。わかりやすくするため、ここにこれらをリストします。
属性 |
目的 |
name |
サブジェクト領域の基となるベース・キューブで指定された、要素の論理名。 |
displayName |
(オプション) ユーザ・インタフェースで使用されるこの要素のローカライズ名。この属性を指定しない場合、代わりに論理名が表示されます。詳細は、"InterSystems Business Intelligence の実装" の "ローカライズの実行" を参照してください。 |
description |
(オプション) この要素の説明。この属性を指定しない場合、代わりにキューブ定義で指定された description が表示されます。 |
disabled |
(オプション) コンパイラが、この要素で定義されたオーバーライドを使用するかどうかを制御します。この属性が "true" の場合、コンパイラはこのオーバーライドを無視します。これは、オーバーライドをコメントアウトすることと同等です。既定では、この属性は "false" です。
オーバーライドが無効の場合、システムはキューブで指定される定義を使用します。 |
<subjectArea>
<subjectArea> 要素は、サブジェクト領域クラスにおける XData ブロックのルート要素です。この要素には以下の項目があります。
属性または要素 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。name 属性は、InterSystems IRIS® ネームスペース内で一意である必要があります。 |
baseCube |
このサブジェクト領域の基となるキューブの論理名 (これは論理キューブ名のコンマ区切りリストでもかまいません。"InterSystems Business Intelligence の上級モデリング" の "複合キューブの定義" を参照してください)。 |
owner |
(オプション) サブジェクト領域の所有者の名前。 |
resource |
(オプション) アーキテクトを介してアクセスする際に、このサブジェクト領域へのアクセスの制御に使用されるリソースの名前。"InterSystems Business Intelligence の実装" を参照してください。 |
filterSpec |
(オプション) このサブジェクト領域のフィルタとして使用される MDX セット式。サブセクション "サブジェクト領域のフィルタ処理" を参照してください。既定は、空白文字列で、フィルタリングは行われません。 |
caption |
(オプション) このサブジェクト領域のキャプション。これを指定しない場合、代わりにベース・キューブのキャプションが使用されます。 |
countMeasureCaption |
(オプション) 既定のメジャーに使用するキャプション。レコード数をカウントします。既定のキャプションは Count です。内部的には、このメジャーの名前は %Count です。 |
defaultListing |
(オプション) このサブジェクト領域の既定として使用される <listing> の論理名を指定します。"<listing>" を参照してください。これを指定しない場合は、ベース・キューブに指定されている既定のリストが使用されます。 |
disableListingGroups |
(オプション) この属性に "true" を指定すると、すべてのユーザはこのサブジェクト領域をターゲットとして使用するリスト・グループを定義できなくなります。既定は "false" です。"リスト・グループのコンパイル" を参照してください。 |
defaultMember、defaultMeasure |
使用しません。 |
<measure> |
(オプション) ゼロ個以上の <measure> 要素を含むことができます。このそれぞれでメジャーの非表示やカスタマイズを行うことができます。 |
<dimension> |
(オプション) ゼロ個以上の <dimension> 要素を含むことができます。このそれぞれでディメンジョンの非表示やカスタマイズを行うことができます。 |
<listing> |
(オプション) ゼロ個以上の <listing> 要素を含むことができます。このそれぞれでこのサブジェクト領域のリストの非表示、カスタマイズ、または追加を行うことができます。 |
サブジェクト領域のフィルタ処理
filterSpec 属性を使用すると、サブジェクト領域に適用するフィルタを指定できます。この属性は、有効な MDX セット式と等価である必要があります。以下はその例です。
{AgeD.H1.[10 to 19],AgeD.H1.[20 to 29]}
"フィルタ式の作成" を参照してください。
filterSpec を指定する代わりに (またはこの指定に加えて)、%OnGetFilterSpec コールバックを実装することもできます。"InterSystems Business Intelligence の上級モデリング" の "キューブまたはサブジェクト領域の動的フィルタ処理" を参照してください。
<measure>
サブジェクト領域内では、<measure> 要素によってメジャーの非表示やカスタマイズが行われます。この要素には以下の属性があります。
属性 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
hidden |
(オプション) hidden="true" の場合、このメジャーは定義され、クエリで使用することができますが、このサブジェクト領域で使用可能なメジャーとしてリストには表示されません。既定は "false" です。 |
formatString |
(オプション) 指定すると、ベース・キューブでこのメジャーに対して指定された formatString 属性がこの属性によってオーバーライドされます。"形式文字列の指定" を参照してください。 |
Note:
この方法では、計算メジャーにオーバーライドを定義することはできません。計算メジャーは実際には計算メンバです。これにオーバーライドを定義するには、<calculatedMember> を使用する必要があります。
<dimension>
サブジェクト領域内では、<dimension> 要素によってディメンジョンの非表示やカスタマイズが行われます。この要素には以下のコンテンツがあります。
属性または要素 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
hidden |
(オプション) hidden="true" の場合、このディメンジョンは定義され、クエリで使用することができますが、使用可能なディメンジョンとしてリストには表示されません。既定は "false" です。 |
allCaption |
(オプション) 指定すると、ベース・キューブでこのディメンジョンに対して指定された allCaption 属性がこの属性によってオーバーライドされます。 |
allDisplayName |
(オプション) 指定すると、ベース・キューブでこのディメンジョンに対して指定された allDisplayName 属性がこの属性によってオーバーライドされます。 |
<hierarchy> |
(オプション) ゼロ個以上の <hierarchy> 要素を含むことができます。このそれぞれで階層 (または階層の一部) を非表示にすることができます。 |
<hierarchy>
サブジェクト領域内では、<hierarchy> 要素によって階層の非表示やカスタマイズが行われます。この要素には以下のコンテンツがあります。
属性または要素 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
<level> |
(オプション) ゼロ個以上の <level> 要素を含むことができます。このそれぞれがレベルを非表示にできます。 |
hidden |
(オプション) この属性が "true" の場合、このサブジェクト領域でその階層を使用することはできません。既定は "false" です。
ディメンジョンのすべての階層が非表示である場合、そのディメンジョン自体がサブジェクト領域内で非表示になります。 この方法でディメンジョンを非表示にすると、同じディメンジョンに配置できるすべての計算メンバもシステムによって非表示にされます。 |
<level>
サブジェクト領域内では、<level> 要素によってレベルの非表示やカスタマイズが行われます。この要素には以下のコンテンツがあります。
属性 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
hidden |
(オプション) この属性が "true" の場合、このサブジェクト領域にそのレベルは表示されません。既定は "false" です。 |
sort |
(オプション) 時刻ディメンジョンのレベルの場合、このレベルのメンバの既定の並べ替え方法を指定します。"asc" または "desc" を指定します。
この属性は、データ・ディメンジョンまたは年齢ディメンジョンのレベルには影響しません。 |
<listing>
サブジェクト領域内では、<listing> 要素によってリストの非表示、カスタマイズまたは追加が行われます。この要素には以下のコンテンツがあります。
属性 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
hidden |
(オプション) この属性が "true" の場合、このサブジェクト領域にそのリストは表示されません。既定は "false" です。 |
他の属性 |
(オプション) "<listing>" を参照してください。これらは、リストの再定義または新規リストの追加を行う場合にのみ指定します。 |
<calculatedMember>
サブジェクト領域内では、<calculatedMember> 要素によって計算メンバの非表示やカスタマイズが行われます。
属性 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
dimension |
このメンバが属するディメンジョン。 |
hidden |
(オプション) この属性が "true" の場合、このサブジェクト領域にその計算メンバは表示されません。既定は "false" です。 |
他の属性 |
(オプション) "<calculatedMember>" を参照してください。これらは、計算メンバの再定義または追加を行う場合にのみ指定します。 |
<namedSet>
サブジェクト領域内では、<namedSet> 要素によって名前付きセットの非表示やカスタマイズが行われます。この要素には以下のコンテンツがあります。
属性 |
目的 |
name、displayName、description、disabled |
このページで前述の "サブジェクト領域の共通属性" を参照してください。 |
hidden |
(オプション) この属性が "true" の場合、このサブジェクト領域にその名前付きセットは表示されません。既定は "false" です。 |
他の属性 |
(オプション) 前の項目の "<calculatedMember>" を参照してください。これらは、名前付きセットの再定義または追加を行う場合にのみ指定します。 |