計算済みテーブルは、他のテーブルにあるデータの分析に使用されます。その主なコンポーネントはSQLクエリで、追加データのフィルタリング、並べ替え、集計、生成に使用できます。そのクエリの結果は、結果テーブルと呼ばれるバンドルにダンプされます。そこから、データをエクスポートしたり、データでグラフを作成したりできます。計算済みテーブルのその他のオプションでは、クエリを実行する頻度や表示目的で結果の書式を設定する方法を選択できます。
計算済みテーブルインターフェイスは、本来、SQLクエリの作成支援を目的とし、クエリビルダーと呼ばれています。クエリビルダーでは、正確なSQL構文を気にすることなく、概念的な視点からクエリを考えることができます。
また、計算済みテーブルでは、クエリビルダーを使用せずに、カスタムクエリを作成することもできます。SQLクエリの記述の詳細については、「SQLクエリ」ページを参照してください。
計算済みテーブルには、ツールボックスからアクセスできます。
クエリビルダーインターフェイスでは、次の5種類の入力を検討してクエリを作成します。
以降の各セクションで、各種入力の考え方について説明します。
SQLクエリは、1つ以上の入力テーブルに対して処理を行います。クエリビルダーでは、入力として使用するテーブルを指定できます。入力テーブルは1つ以上指定する必要があります。そうしない場合、クエリビルダーでクエリが作成されません。テーブルを複数指定する場合は、追加のテーブルの結合方法も指定する必要があります。
クエリビルダーでは、次の種類のテーブルに関するクエリを作成できます。
クエリビルダーは、指定された入力テーブルを使用して、最終的なクエリのFROMステートメントを作成します。
メトリックは、いずれかの入力テーブルから取得するデータを示したものです。メトリックは列のデータに着目します。たとえば、あるメトリックを使用して、特定の列の値の平均を取得できます。また、あるメトリックを使用して、特定の列の値をすべて取得することもできます。メトリックは1つ以上指定する必要があります。そうしない場合、クエリビルダーでクエリが作成されません。
クエリビルダーは、指定されたメトリックを使用して、SELECTステートメントを作成します。[Metric Layout]が[このメトリックに新しい列を追加]に設定されている場合、クエリビルダーはこのクエリに1つの式を追加します。共有の名前/値列を使用するようにレイアウトが設定されている場合、クエリビルダーはこのレイアウトで1メトリックにつき1回実行されるクエリを作成します。[Metric Name]は[Metric Name]という列に、値は[Metric Value]という列に代入されます。サブクエリがすべて連結される場合、名前と値の列はすべてのサブクエリ間で共有されます。
サブセットでは、データのフィルタを指定できます。フィルタとは、あるテーブル行を最終結果に含めるかどうかを判定するものです。1つのサブセットに複数のフィルタを指定することができます。すべてのフィルタに一致した行のみが結果テーブルに含まれます。
クエリビルダーは、各サブセットを使用してWHEREステートメントを作成します。複数のサブセットがある場合、サブセットごとにクエリを1回作成し(クエリは同じでWHEREステートメントが異なる)、作成したすべてのクエリをUNION ALLで連結します。サブセットがある場合、クエリビルダーは結果テーブルに[Subset]という列を追加し、値としてサブセット名を表示します。
パーティションは各データポイントを分類します。そのため、結果テーブルには、各結果行のカテゴリが表示されます。集計(またはウィンドウ関数)メトリックがある場合、集計はパーティションの各値に対して行われます。
クエリビルダーは、パーティションを使用してGROUP BYステートメントを作成します。メトリックがウィンドウ関数の場合、メトリックのSELECT式のPARTITION BYステートメントでパーティションを使用します。さらにクエリビルダーは、SELECTステートメントに各パーティションの列を追加します。
並べ替えは結果テーブルにのみ適用されます。並べ替えを選択した場合、クエリの結果はサブセット(ある場合)で並べ替えられ、次にパーティション(ある場合)ごとに並べ替えられます。パーティションがない場合、クエリの最終結果は並べ替えられません。
並べ替えが行われる場合、クエリビルダーはORDER BYステートメントを作成します。サブセットとパーティションがある場合、クエリビルダーはネストされたクエリを作成します。
この例では、クエリビルダーインターフェイスを使用して、グローバルテーブルの列のデータの平均値を求めるクエリを作成します。グローバルテーブルを再作成し、最後に新しい計算済みテーブルを作成する必要があります。グローバルテーブルの詳細については、「グローバルテーブル」のトピックを参照してください。
この例では、モデルに次のグローバルテーブルがあると仮定します。
[テーブル]グループボックスの ボタンをクリックして、[グローバルテーブル]を選択し、[GlobalTable1]を選択します。
この操作は、クエリビルダーに、GlobalTable1からのデータの取得を指示します。
この操作は、クエリビルダーに、メトリックとしてCycleTime列の平均の取得を指示します。
[計算]タブに移動し、[更新]ボタンをクリックします。
このタブでは、クエリビルダーが作成したクエリだけでなく、クエリの結果も確認できます。このケースでは、単一行と単一列から成る結果テーブルにCycleTime列の平均が表示されます。
この例では、クエリビルダーインターフェイスを使用して、グローバルテーブルの列のデータの平均値を求めるクエリを作成します。グローバルテーブルを再作成し、最後に新しい計算済みテーブルを作成する必要があります。グローバルテーブルの詳細については、「グローバルテーブル」のトピックを参照してください。
この例では、モデルに次のグローバルテーブルがあると仮定します。
[テーブル]グループボックスの ボタンをクリックして、[グローバルテーブル]を選択し、[GlobalTable1]を選択します。
この操作は、クエリビルダーに、OrderNumがnullでない行の数をカウントするように指示します。
サブセットを2つ追加すると、クエリビルダーは、グローバルテーブルのすべての行を対象とするクエリと、[IsHighPriority]列が1の行のみを対象とするクエリの計2回のクエリを実行するものと理解します。さらに、両クエリの結果を同じテーブルに表示することも理解します。
[計算]タブに移動し、[更新]ボタンをクリックします。
このタブでは、クエリビルダーが作成したクエリだけでなく、クエリの結果も確認できます。このケースでは、結果テーブルに2つの行と2つの列があります。最初の行は最初のサブセットに由来し、Orders(注文)の総数が10であることを示します。2番目の行は2番目のサブセットに由来し、high priority(高優先度)の注文のみを対象とします。これらの注文のカウントはわずか4です。
計算済みテーブルには、さまざまなプロパティを含む5つのタブがあります。これらのプロパティについては、次の5つのセクションで説明します。
[Tables/Metrics]タブは、クエリビルダーで使用するテーブルとメトリックを指定できるインターフェイスです。
[Tables/Metrics]タブには、次のプロパティがあります。
[テーブル]エリアでは、クエリビルダーで使用するテーブルのリストを指定できます。テーブルが複数ある場合、ドロップダウンが表示され、結合ステートメントで使用する列を指定できます。名前のみでアクセスできるテーブルの場合(実験結果テーブルなど)、[テーブル]パネルの最初のフィールドで名前を編集できます。
[Metrics]エリアでは、クエリビルダーで使用するメトリックのリストを指定できます。各メトリックの[Metric Name]プロパティだけでなく、[Metric Layout]プロパティも編集できます。他のオプションは、選択したメトリックの種類によって異なります。その大部分は、ドロップダウンリストから1つ以上の列を選択します。
[サブセット]タブは、クエリビルダーで使用するサブセットを指定できるインターフェイスです。
[サブセット]タブには、次のプロパティがあります。
[サブセット リスト]エリアは、[サブセット フィルタ]グループボックスの上にあるエリアです。このエリアでは、作成する各サブセットを指定できます。このエリアの各プロパティについて、次のリストで説明します。
[サブセット フィルタ]エリアでは、選択したサブセットが基本サブセットの場合、そのサブセットのフィルタのリストが表示されます。 ボタンで新しいフィルタを追加できます。フィルタのパネルには、追加したフィルタの種類に基づいて、そのフィルタを設定するためのプロパティが表示されます。
選択したサブセットが人/HCグループのサブセットの場合、次のインターフェイスが表示されます。
このインターフェイスでは、テーブルで比較するグループを選択できます。クエリビルダーがチャートテンプレートの一部の場合、これらのグループはテンプレートに関連付けられたチャートに表示されます。次のプロパティがあります。
[パーティション/並べ替え]タブは、クエリビルダーで使用するパーティションと、結果を並べ替えるかどうかを指定できるインターフェイスです。
[パーティション/並べ替え]タブには、次のプロパティがあります。
[パーティション]エリアでは、結果テーブルをパーティション分割する場合の方法を指定できます。パーティションごとに、[パーティション名]と[並べ替え方向]を指定します。他のプロパティは、追加したパーティションの種類によって異なります。
このボックスをオンにすると、結果テーブルは並べ替えられます。パーティションがない場合、このチェックボックスは使用できません。
[計算]タブは、計算済みテーブルの2つの主な入力(SQLクエリとそのクエリの更新タイミングに関する情報)のインターフェイスになっています。
[計算]タブには、次のプロパティがあります。
このオプションを変更し、計算済みテーブルが更新される頻度を選択します。それは、クエリを実行して結果をダンプすることを意味します。更新モードには次の3つがあります。
このボックスを使用し、更新間隔モードである[インターバル]と[レイジーインターバル]の更新間隔を設定します。
このボックスには、クエリビルダーによって作成されたクエリが表示されます。直接編集を有効にした場合、このボックスで自分のカスタムクエリを編集できます。
計算済みテーブルからクエリビルダーインターフェイスを削除する場合、このボタンを使用します。そうすると、[クエリ]プロパティでクエリを独自に作成できます。クエリを独自に作成するときには、グローバルテーブル、グローバルリスト、統計コレクター、その他の計算済みテーブル、実験データなど、モデルのあらゆる組み込みテーブルをこのクエリで参照できます。ただし、結果はバンドルにダンプされるため、SELECTステートメントの各列は数値、文字列、またはノードのいずれかの値を生成する必要があります。有効なSQL文の作成方法については、「SQLクエリ」を参照してください。
このボタンを使用すると、更新モードに関係なく、いつでも計算済みテーブルを更新できます。更新モードが[手動]に設定されている場合、更新ボタンはテーブルを更新できる唯一の方法となります。このボタンをクリックすると、クエリが再生成され、テーブルが更新されます。
このボタンを使用すると、この計算済みテーブルの結果テーブルのドッキング自在ビューが開きます。
このテーブルには、SQLクエリの最新の結果が表示されます。
「表示形式」タブでは、計算済みテーブルの結果テーブルの各列の表示形式を指定します。
[表示形式]タブには、次のプロパティがあります。
このテーブルを使用し、結果テーブルの各列の形式を指定します。列のリストは、現在の結果テーブルに基づいて自動で生成されます。
このプロパティはオブジェクトの表示形式を使用する列に影響します。この表示形式では、オブジェクトのフルパスが表示されます。この値を使用して、パスに表示するノードの数を制御できます。値が0の場合、フルパスが使用されます。値が1の場合、ノード名のみが使用されます。2の場合、パスには、親ノードの名前と現在のノードの名前が含まれます。
[一般]タブには、次のプロパティがあります。
このボタンを使用すると、結果テーブルのドッキング自在ビューが開きます。
テーブルを.CSVファイルにエクスポートするには、このボタンを使用します。
統計コレクターと同様に、計算済みテーブルには、このテーブルを参照するすべてのダッシュボードチャートのリストが表示されます。このリストの下にある[プロパティ]ボタンを押すと、選択されているグラフのプロパティ(ある場合)が開きます。