Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

キューブ要素の概要

独自のキューブを作成する前に、サンプル・キューブを検証し、使用方法を確認することは有益です。この章は、以下のセクションで構成されます。

Patients キューブへのアクセス

  1. 管理ポータルにアクセスし、前述したように SAMPLES ネームスペースに移動します。

  2. ホーム, DeepSee, アナライザ をクリックします。

  3. [サブジェクト領域の変更] ボタン generated description: button change subjectarea をクリックします。

  4. Patients をクリックします。

  5. [OK] をクリックします。

アナライザ・ページには、以下のように 3 つの主要領域があります。

  • 左側の [モデル・コンテンツ] 領域には、選択したキューブのコンテンツがリスト表示されます。フォルダを展開して、項目をピボット・ビルダ領域にドラッグ・アンド・ドロップすることができます。

  • 右上のピボット・ビルダ領域には、ピボット・テーブルの作成に使用するオプションがあります。この領域は、[行][列][メジャー]、および [フィルタ] のボックスで構成されます。

  • 右下のピボット・プレビュー領域には、ダッシュボードでの表示とほぼ同様にピボット・テーブルが表示されます。

[モデル・コンテンツ] 領域の案内

[モデル・コンテンツ] 領域には、現在表示しているキューブの内容がリストされます。このチュートリアルで、ドロップダウン・リストから [ディメンジョン] を選択します。このオプションでは、指定されたキューブのメジャーとディメンジョンが表示されます。

上部のセクションには名前付きセットが表示されますが、このチュートリアルではこれらは使用されません。領域の下部は以下のセクションで構成されます。

メジャー

[メジャー] セクションには、キューブ内のすべてのメジャーが表示されます。以下はその例です。

generated description: modelcont measures

2 種類のメジャーが存在する場合があり、それらは別々のアイコンで示されます。

generated description: modelcont icon measure 標準メジャー
generated description: modelcont icon measure calc 計算メジャー (他のメジャーに換算して定義します)

ディメンジョン

[ディメンジョン] セクションには、ディメンジョンとそこに含まれているレベル、メンバ、およびプロパティがリストされます(また、メジャー以外の計算メンバおよびセットも含まれますが、この章ではこれらの項目については説明しません)。

ディメンジョン名の横にある三角形をクリックして、これを展開します。ディメンジョンには、1 つ以上のレベルがあります。また、All メンバとして知られている特殊なメンバが含まれる場合もあります。以下の例では、AgeD ディメンジョンに、All Patients という名前の All メンバがあります。また、Age GroupAge BucketAge というレベルもあります。

generated description: modelcont level expanded

レベルを展開すると、そのレベルのメンバが表示されます。以下はその例です。

generated description: modelcont level with members

レベルにプロパティも含まれている場合、それらのプロパティはリストの先頭に異なるアイコンと共に青い文字で表示されます。例えば、City レベルに Population プロパティと Principal Export プロパティが含まれているとします。

generated description: modelcont level with properties

単純なピボット・テーブルの作成

ここでは、一般的な方法でレベルとメジャーを使用する単純なピボット・テーブルを作成します。このセクションの目標は、レベルとメジャーの機能を確認し、メンバがどのようなものであるかを理解することです。

実際に表示される数は、ここでの表示と異なる場合もあります。

  1. [モデル・コンテンツ] ペインで、[DiagD] ディメンジョンを展開します。

  2. [Diagnoses][行] にドラッグ・アンド・ドロップします。

    または、[Diagnoses] をダブルクリックします。

    以下のように表示されます。

    generated description: analyzer pivot1

  3. [Patient Count][メジャー] にドラッグ・アンド・ドロップします。

    または、[Patient Count] をダブルクリックします。

  4. [Avg Age][メジャー] にドラッグ・アンド・ドロップします。

    または、[Avg Age] をダブルクリックします。

    以下のように表示されます。

    generated description: analyzer pivot3

  5. [保存] をクリックします。

    ピボット・テーブルの名前を指定できるダイアログ・ボックスが表示されます。

    名前を付けて、ピボット・テーブルを保存します。この操作によって、データ取得の基本となるクエリが、選択した方法での表示に必要な情報と共に保存されます。データを保存するわけではありません。

  6. [フォルダ] に、Test と入力します。

  7. [ピボット名]Patients by Diagnosis (Patients Cube) と入力します。

  8. [OK] をクリックします。

表示内容を正しく理解することは重要です。以下の点に注意してください。

  • ベース・テーブルは Patients で、これはすべてのメジャーが患者に関するデータを集計していることを意味します。

  • このピボット・テーブルのヘッダ行以外の行はそれぞれ、Diagnoses ディメンジョンの 1 メンバのデータを表示します。

    いずれの場合も、個々のメンバは、ファクト・テーブル内のレコード・セットに対応します。(ほとんどの場合、ファクト・テーブルの各レコードが、ベース・テーブルの 1 つのレコードに対応します。)

    したがって、このピボット・テーブルの各行には、特定の診断を受けた一連の患者のデータが表示されます。

    これ以外のレイアウトも可能ですが (このドキュメントで後述)、いずれの場合もピボット・テーブルのデータ・セルはすべてファクト・テーブルのレコード・セットに関連付けられます。

  • 一般的なピボット・テーブルでは、各データ・セルにメジャーの集約値が表示されます。これはそのデータ・セルで使用されるすべてのレコードを集約したものです。

  • 特定のデータ・セルの内容を理解するには、そのセルに対応するラベルの情報を参照します。例えば、asthma 行の Patient Count 列にあるセルについて考えてみます。このセルには、喘息を持つ患者の総数が表示されます。

    同様に、この行の Avg Age 列について考えてみます。このセルには、喘息を持つ患者の平均年齢が表示されます。

  • 集約の実行方法は、メジャーによって異なる場合があります。Patient Count の場合、DeepSee は数値を合計します。Avg Age の場合、DeepSee は数値の平均値を計算します。その他の集約も可能です。

メジャーおよびレベル

ここでは、メジャーおよびレベルについてもう少し詳しく見ていきます。

  1. [新規作成] をクリックします。

  2. [Count] および [Avg Age][メジャー] 領域にドラッグ・アンド・ドロップします。

    これにより、以下のように表示されます。

    generated description: view measures

    この単純なピボット・テーブルでは、ベース・クラスのすべてのレコードにわたる、これらの各メジャーの集約値が表示されます。10000 人の患者が存在し、その平均年齢は 35.93 歳です (この例の場合)。

  3. これらの値を、ソース・テーブルから直接取得された値と比較します。そのためには、以下の操作を実行します。

    1. 別のブラウザ・タブかウィンドウで、管理ポータルにアクセスし、前述のように SAMPLES ネームスペースに移動します。

    2. [システム・エクスプローラ]→[SQL] をクリックします。

    3. [クエリ実行] タブをクリックします。

    4. 以下のクエリを実行します。

      select count(*) as "count",avg(age) as avgage from deepsee_study.patient

    同じ数値が表示されます。以下はその例です。

    generated description: view measures sql

    Tip:

    このブラウザ・タブまたはウィンドウは、後で使用できるように開いたままにしておきます。

  4. アナライザで、前出のピボット・テーブルを以下のように変更します。

    1. 左側の [GenD] を展開します。

    2. [Gender][行] 領域にドラッグ・アンド・ドロップします。これにより、表示は以下のようになります。

      generated description: view measures redefined

  5. これらの値を、ソース・テーブルから取得された集約値と比較します。そのためには、以下の操作を実行します。

    1. 管理ポータルにアクセスし、前述したように SAMPLES ネームスペースに移動します。

    2. [システム・エクスプローラ]→[SQL] をクリックします。

    3. [クエリ実行] タブをクリックします。

    4. [履歴を表示] をクリックします。

    5. 以前実行したクエリをクリックします。

    6. クエリの最後に以下を追加して、クエリを再実行します。

       group by gender
      

      ピボット・テーブルの表示と同じ数値が表示されます。以下はその例です。

      generated description: view measures redefined sql

  6. 最後の例では、アナライザで以下の変更を行います。

    1. [行] ペインの [X] ボタンをクリックします。これによって、行の定義がクリアされます。

    2. [ProfD] および [Profession] を展開します。

    3. [Electrician][行] にドラッグ・アンド・ドロップします。

    表示は以下のようになります。

    generated description: electrician

  7. これらの値を、ソース・テーブルの値と比較します。そのためには、以下の操作を実行します。

    1. 管理ポータルにアクセスし、前述したように SAMPLES ネームスペースに移動します。

    2. [システム・エクスプローラ]→[SQL] をクリックします。

    3. [クエリ実行] タブをクリックします。

    4. 以下のクエリを実行します。

      select count(*) as "count",avg(age) as avgage from deepsee_study.patient join deepsee_study.patientdetails 
      on deepsee_study.patient.patientid = deepsee_study.patientdetails.patientid 
      where deepsee_study.patientdetails.profession->profession='Electrician'

    同じ数値が表示されます。以下はその例です。

    generated description: electrician sql

ディメンジョンおよびレベル

多くのシナリオで、ディメンジョンとレベルは互換的に使用できます。ここでは、これらを比較して異なる点を確認します。

  1. アナライザで、[新規作成] をクリックします。

  2. [GenD] 定義を [行] 領域にドラッグ・アンド・ドロップします。以下のような表示になります。

    generated description: comparison dimension as rows

    表示されるメジャーは Count です。これは患者の数です。

  3. [新規作成] をクリックします。

  4. [GenD] ディメンジョンを展開します。左領域に以下のように表示されます。

    generated description: gend contents

  5. [Gender] レベルを [行] 領域にドラッグ・アンド・ドロップします。以下のような表示になります。

    generated description: comparison level as rows

    この場合、行の上のキャプションを除き同じ結果が表示されます。

    Patients サンプルでは、ディメンジョンの名前は省略形で、末尾に D の文字が付きます。レベルの名前は、そのレベルを含むディメンジョンの名前と同じになることはありません。この名前付け規約は必須ではなく、レベルとそのレベルを含むディメンジョンに同じ名前を使用することもできます。

  6. [新規作成] をクリックします。

  7. [AgeD] ディメンジョンを展開します。左領域に以下のように表示されます。

    generated description: aged contents

    このディメンジョンの定義は、以下の 2 つの点で GenD ディメンジョンと異なっています。

    • AgeD では All Patients と呼ばれる特別なメンバ、つまり All メンバが定義されています。All メンバは、ベース・クラスの全レコードを参照します。

    • AgeD では、Age GroupAge Bucket、および Age という複数のレベルが定義されています。

  8. [AgeD] ディメンジョンを [行] 領域にドラッグ・アンド・ドロップします。以下のような表示になります。

    generated description: comparison2 dimension as rows

    行 (または列) として使用するディメンジョンをドラッグ・アンド・ドロップする際、そのディメンジョンの All メンバが表示され (存在する場合)、その後にディメンジョンに定義されている最初のレベルのすべてのメンバが続きます。この場合、最初のレベルは Age Group です。

All メンバ

All メンバは、ベース・クラスの全レコードを参照します。どのディメンジョンも All メンバを持つことができますが、Patients キューブで All メンバがあるディメンジョンは 1 つのみです。

ここでは、All メンバを使用する方法を示します。

  1. [新規作成] をクリックします。

  2. [AgeD] ディメンジョンを展開します。

  3. [Age Group][行] にドラッグ・アンド・ドロップします。

  4. メジャー [Patient Count][Avg Age] および [Avg Test Score][メジャー] 領域にドラッグ・アンド・ドロップします。以下のように表示されます。

    generated description: all member demo age groups

  5. ピボット・オプション・ボタン generated description: button pivot options をクリックします。

  6. [行オプション] 領域で [集計] チェック・ボックスにチェックを付け、ドロップダウン・リストで [合計] が選択されたままにして [OK] をクリックします。

    これで、以下のように Total 行が表示されます。

    generated description: all member demo age groups w total

    Total 値は、Patient Count には適していますが、他のメジャーには適しません。Avg Age および Avg Test Score には、合計ではなく平均値の表示が適しています。

  7. ピボット・オプション・ボタン generated description: button pivot options を再度クリックします。

  8. [行オプション] 領域で [集計] チェック・ボックスのチェックを外して [OK] をクリックします。

  9. [Age Group] の下で、[All Patients][行] にドラッグ・アンド・ドロップします。これで、All PatientsAge Group レベルのメンバの後に表示されます。

    generated description: all member demo age groups w allmem

    All Patients 行は、Total 行より有益な集計行です。Patient CountAvg Age および Avg Test Score のメジャーが、それぞれすべての患者にわたって集約され、表示されています。

    Note:

    Avg Age および Avg Test Score には、ピボット・テーブルに表示される値の平均値を示すほうがよい場合もあります。例えば、Avg Age の場合、この集計行ではすべての患者の年齢を加算して 10000 で除算します。ここに示した 3 つのメンバの Avg Age の値を加算して、その値を 3 で除算することが望まれる場合もあります。All メンバはこれには役立ちません。代わりに、計算メンバ (このチュートリアルで後述) を作成します。

  10. [行] ペインの [X] ボタンをクリックします。これによって、行の定義がクリアされます。

  11. [DiagD] ディメンジョンを展開します。

  12. [Diagnoses][行] ペインにドラッグ・アンド・ドロップします。

  13. [Diagnoses] の下で、[All Patients][行] にドラッグ・アンド・ドロップします。これにより、表示は以下のようになります。

    generated description: all member demo diagnoses w allmem

    上の図からもわかるように、総称的な名前の All Patient メンバは、Age 以外の、このメンバが偶然に定義されているディメンジョンと共に使用することができます。

階層

ディメンジョンには 1 つ以上の階層が格納され、各階層には複数のレベルを格納できます。[モデル・コンテンツ] 領域には、階層によって指定された順序に従ってレベルがリストされますが、(スペースを節約するため) このキューブの階層名は表示されません。

ユーザは階層を使用して、下位レベルにドリルダウンできます。ここでは、この機能について説明します。

  1. [新規作成] をクリックします。

  2. [モデル・コンテンツ] ペインで、[BirthD] ディメンジョンを展開します。

    以下のように表示されます。

    generated description: hierarchy example

  3. [Decade][行] にドラッグ・アンド・ドロップします。

    または、[Decade] をダブルクリックします。

    以下のように表示されます。

    generated description: hierarchy demo decades

    表示されるメジャーは Count です。これは患者の数です。

  4. [1950s] 行 (または比較的患者数が多いその他の行) をダブルクリックします。<< 記号の右側の任意の場所をクリックします。

    これで、その年代に生まれた患者が年別 (階層内の最下位の直上レベル) にグループ化されて以下のように表示されます。

    generated description: hierarchy demo years

    このダブルクリック操作は、アナライザ内だけではなく、ダッシュボードに表示されたピボット・テーブル内で使用できます。

  5. 行を再度ダブルクリックします。その年に生まれた患者が、以下のように年および四半期別にグループ化されて表示されます。

    generated description: hierarchy demo quarter years

  6. 行を再度ダブルクリックします。その年および四半期に生まれた患者が、以下のように年および月別にグループ化されて表示されます。

    generated description: hierarchy demo periods

  7. 行を再度ダブルクリックします。その年および月に生まれた患者が、以下のように実際の日付別にグループ化されて表示されます。

    generated description: hierarchy demo dates

  8. << 記号を繰り返しクリックすると、ピボット・テーブルの元の状態に戻ります。

プロパティ

レベルにはプロパティを含めることができ、このプロパティはピボット・テーブルに表示できます。

  1. [新規作成] をクリックします。

  2. [モデル・コンテンツ] ペインで、[HomeD] ディメンジョンを展開します。

  3. [City] レベルを展開します。

    以下のように表示されます。

    generated description: modelcont level with properties

  4. [City][行] にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: properties demo cities

    表示されるメジャーは Count です。これは患者の数です。

  5. [Population][列] にドラッグ・アンド・ドロップします。

  6. [Principal Export][列] にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: properties demo cities w props

  7. [行] ペインの [X] ボタンをクリックします。

  8. [ZIP][行] にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: properties demo zips w props

    これらのプロパティにこのレベルの値はありません。

ピボット・テーブルでは、プロパティとメジャーはいくつかの点で異なります。

  • プロパティでは文字列値を使用できます。

  • プロパティには、それが定義されたレベルの値のみが存在します。

キューブの定義方法によって、プロパティは、属するレベルの並べ替えおよびメンバ名に影響を与える場合もあります。これに関する例は、このチュートリアルの後続部分で紹介します。

リスト

ここでは、選択したセル (複数の場合もあり) の最下位レベルのデータから選択されたレコードが表示されるリストについて説明します。この機能を確認するため、最初にごく少数のレコードのみを使用するピボット・テーブルを作成します。そのリストを表示すると、開始ポイントのセルの集約値と容易に比較できます。

  1. [新規作成] をクリックします。

  2. [Patient Count] および [Avg Test Score][メジャー] にドラッグ・アンド・ドロップします。

  3. [モデル・コンテンツ] ペインで、[AgeD] ディメンジョンを展開します。

  4. [Age] レベルを展開します。

  5. メンバ [0][列] にドラッグ・アンド・ドロップします。このメンバは、1 歳未満のすべての患者を参照します。

    左側にあるアイコンでなくメンバ名をクリックする必要があります。

    以下のように表示されます。

    generated description: listing demo step1

  6. メンバ [1] を、[列] のメンバ [0] の下にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: listing demo step2

  7. [BirthTD] ディメンジョンを展開します。

  8. [Birth Time] レベルを [行] にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: listing demo step3

  9. セルをクリックします。例えば、[0] の下の [12am] 行の [Patient Count] セルをクリックします。

  10. リストを表示ボタン generated description: button listing をクリックします。

    システムによって選択コンテキストが考慮されます。この例では、1 歳未満で深夜 0 時から午前 1 時の間に生まれた患者です。そのソース・データに対する SQL クエリが実行されます。このクエリには、以下のように、これらの患者に対して選択されたフィールドが含まれています。

    generated description: listing demo step4

  11. 表示された行をカウントします。このカウントは、開始ポイントの行の Patient Count 値と等しくなります。

  12. テーブル表示ボタン generated description: button table をクリックして、ピボット・テーブルの表示を元の状態に戻します。

    既定では、Patients キューブは Patient details と呼ばれるリストを使用します。このリストには、ご覧のように PatientIDAgeGender などのフィールドが含まれています。他のリストも表示できます。

  13. ピボット・オプション・ボタン generated description: button pivot options をクリックして、ピボット・テーブルのオプションを表示します。

    ダイアログ・ボックスが表示されます。

  14. [リスト] ドロップダウン・リストで [Doctor details] をクリックしてから、[OK] をクリックします。

    Doctor details リストには、選択した患者の一次診療医に関する情報が表示されます。

  15. 以前クリックしたセルと同じセルをクリックして、リストを表示ボタン generated description: button listing をクリックします。

    これで以下のように表示されます。

    generated description: listing demo step5

フィルタおよびメンバ

通常のピボット・テーブルでは、この章で前述したように、メンバを行、列、またはその両方として使用します。メンバのもう 1 つの一般的な使用法は、データのフィルタ処理を可能にすることです。

  1. アナライザで、[新規作成] をクリックします。

  2. [ColorD] および [Favorite Color] を展開します。

  3. [Favorite Color][行] にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: filter demo step1

    このピボット・テーブルには、Favorite Color のメンバが行として表示されます。表示されるメジャーは Count です。これは患者の数です。

  4. [Red][フィルタ] にドラッグ・アンド・ドロップします。

    これでアナライザには Favorite Color レベルのメンバが 1 つだけ表示されます。以下のように表示されます。

    generated description: filter demo step2

    患者の合計数をメモしておきます。

  5. [行] ボックスの [X] ボタンをクリックします。

  6. [AgeD] を展開します。

  7. [Age Group][行] にドラッグ・アンド・ドロップします。

    アナライザの表示は以下のようになります。

    generated description: filter demo step3

  8. ピボット・オプション・ボタン generated description: button pivot options をクリックします。

  9. [行オプション] 領域で [集計] チェック・ボックスにチェックを付け、ドロップダウン・リストで [合計] が選択されたままにして [OK] をクリックします。

    アナライザの表示は以下のようになります。

    generated description: filter demo step4

    Total 行に、この列の数値の合計が表示されます。この合計数は、前述の数値と同じであることがわかります。

ピボット・テーブルが何を行 (または列) に使用するかに関係なく、任意のメンバをそのピボット・テーブルのフィルタとして使用できます。いずれの場合も、指定のメンバに関連付けられているレコードのみが取得されます。

複数のメンバをフィルタとして使用できます。また、フィルタを組み合わせることもできます。詳細は、"DeepSee アナライザの使用法" を参照してください。

フィルタおよび検索可能メジャー

DeepSee では、検索可能メジャーを定義できます。このメジャーを使用すると、ソース・レコード自体のレベルで値を評価するフィルタを適用できます。

  1. [新規作成] をクリックします。

    すべての患者の数が表示されます。

    generated description: searchable step1

  2. [フィルタ] ボックスで詳細オプションのボタン generated description: button advanced options をクリックします。

  3. [条件の追加] をクリックします。これで、以下のように表示されます。

    generated description: advanced filter step1

  4. [Age Group] をクリックします。これによって、式のこの部分を編集できます。

    このダイアログ・ボックスは以下のようになります。

    generated description: advanced filter step2

  5. 左側のドロップダウン・リストをクリックしてから、下にスクロールして、[Measures.Encounter Count] をクリックします。その後すぐに、式が以下のように更新されます。以下はその例です。

    generated description: advanced filter step3

  6. [=] 演算子をクリックします。これによって、式のこの部分を編集できます。

    このダイアログ・ボックスは以下のようになります。

    generated description: advanced filter step4

  7. [>=] 演算子をクリックします。その後すぐに、式が以下のように更新されます。以下はその例です。

    generated description: advanced filter step5

  8. [0] をクリックします。これによって、式のこの部分を編集できます。

    このダイアログ・ボックスは以下のようになります。

    generated description: advanced filter step6

  9. フィールドに 10 を入力して、[適用] をクリックします。

  10. [OK] をクリックします。

    これで、10 回以上受診したすべての患者の合計数が表示されます。

    generated description: searchable step2

    ここで、ピボット・テーブルにレベルを追加した場合の影響を見てみましょう。

  11. [モデル・コンテンツ] ペインで、[AgeD] ディメンジョンを展開します。

  12. [Age Group][行] にドラッグ・アンド・ドロップします。

    以下のように表示されます。

    generated description: searchable step3

  13. ピボット・オプション・ボタン generated description: button pivot options をクリックします。

  14. [行オプション] 領域で [集計] チェック・ボックスにチェックを付け、ドロップダウン・リストで [合計] が選択されたままにして [OK] をクリックします。

  15. [OK] をクリックします。

    アナライザの表示は以下のようになります。

    generated description: searchable step4

    Total 行に、この列の数値の合計が表示されます。この合計数は、前述の数値と同じであることがわかります。

FeedbackOpens in a new tab