6 ビジネス問合せの作成
この章では、Oracle Business Activity Monitoring (Oracle BAM)で問合せを作成する方法について説明します。
この章の内容は次のとおりです。
6.1 ビジネス問合せの理解
ビジネス問合せまたは問合せは、指定条件と一致するデータのリクエストです。
問合せは、データ・オブジェクトから、1回、定期的または連続的にフェッチできます。
フラットSQL問合せはデータ・フィールドとその値の単純な表です。データ・オブジェクトを選択してから、データ・フィールドを選択します。
グループSQL問合せの問合せは、メジャーと呼ばれ、ディメンションという数値以外のデータ・フィールドによりグループ化された、1つ以上の数値データ・フィールドの分析です。たとえば、グループSQL問合せで、国別にグループ化された売上を分析できます。データ・オブジェクトを選択し、次にメジャーとディメンションを選択します。
SQLで記述されたツリー・モデル問合せは、ディメンションの階層によってグループ化された1つ以上のメジャーの分析です。たとえば、ツリー・モデル問合せは、国、州または都道府県、群または地区、市別にグループ化された売上を分析します。データ・オブジェクトを選択し、次にメジャーと階層を選択します。
連続した問合せは、リアルタイムで収集されたデータの分析です。たとえば、連続した問合せで、コール・センターのコール量を10分ごとにフェッチできます。連続した問合せ用テンプレートが複数あり、次の分析を実行できます。
-
傾向の検出
-
重複の検出
-
件数の監視
-
平均などの集計値の監視
-
欠落イベントの検出
-
最大集計値の監視
-
キー・パフォーマンス・インディケータ(KPI)の監視
ビューでは連続した問合せを使用できません。ただし、「データ・オブジェクトに値を挿入」アラート・アクションを連続した問合せに追加できます。次に、これらの値を受け取るデータ・オブジェクト(データ・オブジェクトのライト・バックと呼ばれる)を別の問合せおよびビューの基盤として使用できます。詳細は、「データ・オブジェクトに値を挿入」を参照してください。
連続した問合せは、Continuous Query Language、つまりCQLで記述されます。データベースまたはキャッシュ内のデータに対する操作を行ってクライアント要求に応答するSQLとは異なり、CQLはメモリー内のデータに対する操作を行って結果をクライアントにプッシュします。
メジャー・データをフェッチするすべての問合せにおいて、メジャーはデータ・オブジェクトで定義された任意の計算済フィールドにできます。データ・オブジェクトの計算済フィールドの詳細は、「データ・オブジェクトの使用」を参照してください。
表6-1に、各ビジネス問合せタイプを使用できるデータ・オブジェクト・タイプおよびビジネス・ビュー・タイプの概要を示します。
表6-1 データ・オブジェクト・タイプおよびビュー・タイプとの問合せタイプの互換性
ビジネス問合せタイプ | データのフェッチ元 | データの送信先 |
---|---|---|
フラットSQL問合せ |
すべての非ストリーム・データ・オブジェクト |
リスト、アクション・リストおよびジオマップの各ビューのみ |
グループSQL問合せ |
すべての非ストリーム・データ・オブジェクト |
リスト、アクション・リスト、ジオマップ、ツリーマップまたはKPIウォッチリスト以外のすべてのビュー |
ツリー・モデル問合せ |
少なくとも1つの階層がある非ストリーム・データ・オブジェクト |
ツリーマップ・ビューのみ |
連続した問合せ: 重複検出テンプレート |
ストリーム・データ・オブジェクトのみ |
アラートのみ |
連続した問合せ: その他のすべてのテンプレート |
すべての非外部データ・オブジェクト |
アラートのみ |
KPIウォッチリスト・ビューはKPI専用です。詳細は、「KPIの作成」を参照してください。
データ・オブジェクトの詳細は、「データ・オブジェクトの使用」を参照してください。
ビューの詳細は、「ビジネス・ビューの作成と使用」を参照してください。各ビュー・タイプに対する問合せ要件の詳細は、表8-1を参照してください。
アラートの詳細は、「アラートの作成」を参照してください。
6.2 ビジネス問合せの前提条件と用途
問合せを作成する前に、問合せが取得および分析するデータ・フィールドが含まれるデータ・オブジェクトをプロジェクトに追加する必要があります。
プロジェクトの詳細は、「プロジェクトの計画および作成」を参照してください。データ・オブジェクトの詳細は、「データ・オブジェクトの使用」を参照してください。
問合せを作成すると、次の方法で使用できます。
- KPIの場合
-
リアルタイムKPIは、連続した問合せを使用してリスク・インディケータを監視できます。スケジュールされたKPIは、ディメンションがないグループSQL問合せに基づいている必要があります。詳細は、「KPIの作成」を参照してください。
- ビューの場合
-
ビューには、連続していない問合せによって取得されるデータが表示されます。ビューでは連続した問合せを使用できません。詳細は、「ビジネス・ビューの作成と使用」を参照してください。
- ダッシュボード
-
ダッシュボードには、関連するビューのグループが含まれます。詳細は、「ダッシュボードの作成」を参照してください。
- パラメータの使用
-
ユーザー指定のパラメータ値を使用して、問合せデータをフィルタできます。詳細は、「パラメータの作成」を参照してください。
- アラートの使用
-
連続した問合せは、アラート・アクションを開始できます。たとえば、内部コスト・フィールドの値が特定の金額を超えたときに通知するアクションを定義できます。このアラートは、問合せに固有で、「アラート」の左側のパネルのナビゲータには表示されません。かわりに、連続した問合せを監視するアラートをそのトリガー・イベントとして構成できます。詳細は、「アラートの作成」を参照してください。
6.5 ツリー・モデル問合せの作成
この項では、ツリー・モデル問合せの作成手順について説明します。
ツリー・モデル問合せは、ディメンション・データ・フィールドの少なくとも1つの階層が定義されているデータ・オブジェクトにのみ適用できます。たとえば、階層が国、州または都道府県、および市区町村で構成される場合があります。詳細は、データ・オブジェクトの使用を参照してください。
ツリー・モデル問合せは、階層データを効率的に表示するよう設計されている、ツリーマップ・ビューでのみ使用できます。詳細は、「ツリーマップ・ビジネス・ビューの作成」を参照してください。
ツリー・モデル問合せを作成するには:
6.6 連続した問合せの作成
この項では、連続した問合せを作成する手順について概説します。
連続した問合せはテンプレートを使用します。各テンプレートには独自の設定があります。このため、連続した問合せを作成するステップは各テンプレートで異なります。
連続した問合せを作成するには:
6.6.1 傾向検出テンプレートの使用
このテンプレートでは、指定した数の連続間隔で、指定した割合の変更が数値フィールドの値に示されると検出されます。たとえば、コール・センターのコール量が2つの連続した30分間隔で10%増えた場合に、このような問合せで検出できます。
傾向検出テンプレートを使用して連続した問合せを作成するには:
6.6.2 重複検出テンプレートの使用
重複検出テンプレートは、ストリーム・タイプのデータ・オブジェクトのみ問い合せることができます。
このテンプレートは、データ・フィールドが指定した期間内に重複する値を持つ場合に検出します。たとえば、1日に同じ発注が2回発生した場合に、このような問合せで検出できます。
重複検出テンプレートを使用して連続した問合せを作成するには:
6.6.3 監視件数テンプレートの使用
このテンプレートは、1つ以上のデータ・フィールドの数を監視します。たとえば、問合せで、コール・センターでの現在アクティブなコールの数を監視できます。
監視件数テンプレートを使用して連続した問合せを作成するには:
6.6.4 移動集計テンプレートの使用
このテンプレートは、1つ以上のデータ・フィールドの集約(平均、合計など)を監視します。たとえば、問合せで、コール・センターでのコールの平均待ち時間を監視できます。
移動集計テンプレートを使用して連続した問合せを作成するには:
6.6.5 欠落イベント・テンプレートの使用
このテンプレートは、予想されるイベントが発生しなかった場合に検出します。たとえば、問合せで、発注と出荷の間で注文の承認が欠落している場合に検出することができます。
欠落イベント・テンプレートを使用して連続した問合せを作成するには:
6.6.6 上位Nテンプレートの使用
このテンプレートは、数値フィールドのグループ化集計(平均、合計など)の上位値を監視します。たとえば、このような問合せで、3つのうちのどの国の売上の合計が最上位であるかを監視できます。
上位Nテンプレートを使用して連続した問合せを作成するには:
6.6.7 KPIアラート・テンプレートの使用
KPIアラート・テンプレートを使用する連続した問合せは、リアルタイムKPIに似ています。ただし、リアルタイムKPIはKPIウォッチリスト・ビューで使用できます。ビューでは連続した問合せを使用できません。KPIの詳細は、「KPIの作成」を参照してください。
このテンプレートは、数値フィールドのグループ化集計(平均、合計など)が、定義された標準からの特定の変化を示す場合に検出します。たとえば、コール・センターのコール量について、過去24時間の平均からの標準偏差が1を超える場合に、このような問合せで検出できます。
KPIアラート・テンプレートを使用して連続した問合せを作成するには:
6.7 事前定義のSQL問合せの作成
Oracle BAMを使用すると、独自のSQLを記述できます。これは、後でそのSQLに対するフラットまたはグループ問合せに使用できます。入力した任意のSQLは、システムによって副問合せとして扱われます。返された結果セットは、データ・オブジェクト内などで一連の列として扱われます。
6.8 ビジネス問合せの編集
問合せを編集すると、その問合せが含まれるすべてのビュー、およびそれらのビューが含まれるすべてのダッシュボードに、変更内容が伝播します。
次の手順を使用して、問合せを開き、編集および保存します。
問合せを編集するには:
6.9 ビジネス問合せの名前変更
この項では、ビジネス問合せの名前を変更する手順について説明します。
次の手順を使用して、問合せの「表示名」を変更します。
「表示名」は、大/小文字が区別され、フォルダ・パスを示すスラッシュ(/
)を除く任意の文字を含めることができます。最大128文字を使用できます。いつでも変更できます。
問合せの名前を変更するには:
問合せを編集するとき、新しい表示名がタブに表示されます。ただし、内部名は変更されず、そのままです。問合せを編集するとき、この名前はヘッダーの左側に表示されます。
6.10 ビジネス問合せの削除
この項では、ビジネス問合せを削除する手順について説明します。問合せは、その問合せを参照するすべてのビューまたはダッシュボードから削除されます。
次の手順を使用して、問合せを削除します。
問合せを削除するには:
6.11 ビジネス問合せの保護
問合せは、その問合せが作成されたプロジェクトのセキュリティ設定を継承します。
プロジェクトの詳細は、「プロジェクトの計画および作成」を参照してください。
問合せのセキュリティ設定を変更するには:
-
左ナビゲーション・ペインで、「ビジネス問合せ」の左側にある矢印をクリックします。
現在のプロジェクトのすべての保存済問合せがリストに表示されます。
-
問合せを右クリックし、ポップアップ・メニューから「セキュリティ設定」を選択します。
問合せのセキュリティ・タブが開きます。
-
明示的に権限を付与または拒否するロールまたはグループを追加するには、次のステップを実行します。
-
「権限の付与」表または「権限の拒否」表で「追加」アイコンをクリックします。
「アプリケーション・ロール、グループおよびユーザーの追加」ダイアログが開きます。
ユーザーをロールおよびグループに追加する方法の詳細は、「Oracle BAMユーザーの管理」を参照してください。
-
追加するロールまたはグループの名前を「名前」に入力します。
-
ドロップダウン・リストから「アプリケーション・ロール」または「グループ」を選択します。
-
「検索」をクリックして、「選択可能メンバー」リストにデータを移入します。
-
「選択済メンバー」リストにメンバーを追加するには、メンバーを選択し、一重の右矢印をクリックします。
-
「選択済メンバー」リストにすべてのメンバーを追加するには、メンバーを選択し、二重の右矢印をクリックします。
-
「選択済メンバー」リストからメンバーを削除するには、一重および二重の左矢印を使用します。
-
「選択済メンバー」リストが完成したら、「OK」をクリックします。
「アプリケーション・ロール、グループおよびユーザーの追加」ダイアログが閉じ、「名前」に指定した名前が表に表示されます。
-
-
ロールまたはグループを削除するには、表の行を選択し、「削除」アイコンをクリックします。
-
権限を付与するには、「権限の付与」表にリストされているユーザー、ロールおよびグループに対し、「読取り」、「書込み」、「削除」または「セキュリティ」を選択します。
-
権限を拒否するには、「権限の拒否」表にリストされているユーザー、ロールおよびグループに対し、「読取り」、「書込み」、「削除」または「セキュリティ」を選択します。
-
「保存」をクリックします。
6.12 データのフィルタリング
ほとんどのタイプの問合せには、データ・フィルタを追加できます。一部のアラート操作でデータをフィルタすることもできます。
たとえば、売上が12000を超えるという単純なフィルタを使用するとします。このフィルタが適用されると、売上のデータ・フィールドの値が12000を超える行のみがフェッチされます。詳細は、「データ・オブジェクトのデータ・フィールドが特定の条件を満たす場合」および「データ・オブジェクトから行を削除」を参照してください。
論理サブブランチを追加して、フィルタの階層を作成できます。(以前のリリースでは、ブランチはヘッダーと呼ばれていました。)
データを完全にフィルタするには、データ・オブジェクトから行をフェッチしないで、「すべてのデータをフィルタ」を選択します。
行データ・フィルタを追加するには:
6.12.1 グループ・データ・フィルタの追加
グループ・データ・フィルタを売上の合計、売上の平均、リージョンのカウントなどのビジネス問合せに追加できます。グループ・フィルタを実行時でも問合せに適用できます。
- 「グループ・フィルタ」タブを選択します。
- 「新規フィルタ」アイコンをクリックします。「フィルタの追加/編集」ダイアログが表示されます。
- 左側のドロップダウン・リストから、フィルタ処理するデータ・フィールドを選択します。
- 中央のドロップダウン・リストから操作を選択します。デフォルトの操作は「は次と等しい」です。
- フィルタ済データ・フィールドの値を比較する次のアイテムを選択します。
- 値の入力 — 指定する値。または、パラメータを選択 — パラメータによるユーザー入力。詳細は、「パラメータの作成」を参照してください。
- フィルタを保存するには、「OK」をクリックします。
6.12.2 フィルタ比較演算
フィルタ比較では、次の演算を使用できます。
「は次と等しい」は、完全一致する値を戻します。数値データ型の場合、入力されたゼロの値を使用するフィルタではnullはフェッチされません。タイムスタンプ例外については、「日時フィルタ比較の例外」を参照してください。
数値データ型の場合、「は次と等しい」または「は次と等しくない」演算および入力されたゼロの値を使用するフィルタでは、nullはフェッチされません。
次より小さい: 指定した値より小さい値が戻されます。
次以下: 指定した値以下の値が戻されます。
次より大きい: 指定した値より大きい値が戻されます。
次以上: 指定した値以上の値が戻されます。
次と等しくない: 指定した値以外のすべての値が戻されます。数値データ型の場合、入力されたゼロの値を使用するフィルタではnullはフェッチされません。
類似: 文字列パターンに一致する値が戻されます。文字列の1文字に対応するワイルドカードとしてアンダースコア(_)が含まれ、1文字以上に対応するワイルドカードとしてパーセント記号(%)が含まれます。ワイルドカード文字は、組み合せることができます。たとえば、%mm _00と指定すると、すべての列(35mm 200、35mm 400、35mm 800)が返されます。データ照合時には空白が文字として処理されるため、式には空白を入力しないでください。
類似しない: 文字列パターンに一致しない値が戻されます。類似比較式では、ワイルドカード文字を使用できます。
NULL: 列がNULLになっている値が戻されます。
NULLではない: 列がNULLではない値が戻されます。
リストにある: リストに含まれている値が戻されます。タイムスタンプ例外については、「日時フィルタ比較の例外」を参照してください。このオプションを選択すると、値を入力できるテキスト・ボックスが、複数の値を入力できるように拡張されます。必要な数の値を、それぞれ個別の行に追加できます。
リストにない: リストに含まれていない値が戻されます。
6.12.3 日時フィルタ比較の例外
日時データ型を「は次と類似」または「は次と類似しない」演算と使用できますが、タイムゾーンを含む、完全な日時書式を指定する必要があります。たとえば:
02/%/2014 08:%:% %M
入力された日時値は、UTCタイムゾーンであると見なされます。
「は次と等しい」および「はリストにある」フィルタはタイムスタンプ値では機能しないことに注意してください。これは、Oracleデータベースではマイクロ秒の精度が使用され、一方、Oracle BAMでは秒の精度が使用されるためです。
この制限は、2つのフィルタを作成することで回避できます。1つ目のフィルタでは「は次以上」と目的の値を使用し、2番目のフィルタでは「次より小さい」と1秒加えた値を使用します。
たとえば、10:05:30 11:14:35 AMと等しいというフィルタは次のように作成します。
-
両方のフィルタが作成されるブランチのタイプが「すべてtrue」であることを確認してください。
-
最初のフィルタでは、演算「は次以上」を選択し、値
10:05:30 11:14:35
を入力します。 -
2番目のフィルタでは、演算「は次より小さい」を選択し、値
10:05:30 11:14:36
を入力します。
BAM日時書式の詳細は、「列のデータ型」を参照してください。
6.13 上位Nデータの使用
フラットSQL問合せの最初のデータ・フィールドの上位値のみを表示することを選択できます。グループSQL問合せおよびツリー・モデル問合せで、上位Nを適用するデータ・フィールドを選択できます。
リスト・ビューとアクション・リスト・ビューの場合は、上位Nを適用する前にフィールドにソートを適用する必要があります。上位Nの選択は、最初のソート済フィールドに適用されます。
2つ以上の値が同じであり、かつそれらのすべてを上位Nに含めることができない場合、値はランダムに含められます。たとえば、Nが3で、上位4つが100、200、300および300の場合、値300のいずれかが省略されます。
ビューの詳細は、「ビジネス・ビューの作成と使用」を参照してください。
6.14 グループへの集計関数の適用
多くの問合せタイプで、データ・グループへの集計関数の追加がサポートされています。
集計関数の定義を表6-2に示します。
ノート:
平均などの集計関数を問合せで使用する場合は、問合せがフェッチする最初のデータ・ポイントはnullとなります。これは、データがない集計はnullであるためです。
Sum関数は整数データ型でのみサポートされています。小数データ型または浮動小数データ型の場合、完全に一致する値は保証されません。
表6-2 集計関数
ファンクション | 説明 |
---|---|
カウント |
任意のタイプのフィールドに対し、重複を含む、値の件数が戻されます。 |
重複を除いた件数 |
任意のタイプのフィールドに対し、重複を含まない、一意の値の件数が戻されます。 |
最小 |
任意のタイプのフィールドに対し、グループの最早、最低、または英数字の最初の値が戻されます。 |
最大 |
任意のタイプのフィールドに対し、グループの最新、最高、または英数字の最後の値が戻されます。 |
合計 |
数値フィールドに対し、合計が戻されます。 |
平均 |
数値フィールドに対し、統計平均が戻されます。 |
中間 |
数値フィールドに対し、統計中央値が戻されます。日時フィールドに対し、時系列の中央値が戻されます。文字列フィールドに対し、英数字の中央値が戻されます。 |
標準偏差 |
数値フィールドに対し、統計標準偏差が戻されます。 |
差異 |
ディメンションでグループ化された数値フィールドに対し、特定のグループが占める統計差異が戻されます。 |
合計に対するパーセント |
ディメンションでグループ化された数値フィールドに対し、すべてのグループの合計のうち、特定のグループの合計のパーセンテージが戻されます。この関数は、合計がゼロになる可能性のあるフィールドには適しません。 |
6.15 時間グループまたは時系列の使用
問合せと、日時フィールドに基づいてグループ化(X軸)した対応するビューを作成できます。
時間グループ、または時系列を構成するには:
図6-1は、年および四半期の時間グループを使用した棒グラフ・ビューを示しています。
ノート:
チャート・ビジネス・ビューとグラフ・ビジネス・ビューでは、連続していない時系列の表示が異なります。グラフ・ビジネス・ビューでは、時間単位のデータ・ポイントがX軸に沿って等間隔になっています。