印刷      PDFバージョンのオンラインヘルプを開く


前のトピック

次のトピック

実績の最適化

レポートまたは分析にアクセスするたびに、データベースからデータが取得され、レポートサーバーで処理されて、ページに表示されます。分析が複雑になるほど、データベースにクエリーしてデータを取得し、表示するまでに時間がかかる可能性が高くなります。このトピックでは、できるかぎり短時間で表示されるレポートを作成するためのガイドラインを示します。

作業前の準備。次の操作を実行します。

  • Oracle CRM On Demandで使用可能な作成済みレポートを確認します。これらのレポートはほとんどのレポート作成ニーズに対応している可能性があります。
  • トレーニングコースを受講します。
  • レポート要件を収集し、関係者の承認を得ます。
  • ブラウザの設定を確認して、ブラウザクライアントのパフォーマンスが適切に設定されていることを確かめます。
  • レポートのパフォーマンス確認します。詳細については、「レポートのパフォーマンスについて」を参照してください。

サブジェクトエリアについて

レポートおよび業務の要件に応じて2種類のサブジェクトエリアを使用できます。

レポートを作成する場合は、必ず分析サブジェクトエリアを使用してください。このサブジェクトエリアは、クエリーのパフォーマンスを向上させるために構築された専用データウェアハウスを使用して作成されています。分析サブジェクトエリアのデータウェアハウスは毎日更新され、このサブジェクトエリアを使用して作成したレポートの結果は大規模で複雑なクエリーを使用した場合でも、レポートサブジェクトエリアを使用した場合より迅速に表示されます。

レポートサブジェクトエリアの構築に使用するデータベースはアプリケーションの他のユーザートランザクションを生成するデータベースと同じであるため、レポート用のデータを取得するときにアプリケーションとリソースが競合します。

レポートサブジェクトエリア使用時のガイドライン

レポートサブジェクトエリアを使用する場合、次のガイドラインに従ってください。

  • 可能な場合は、[住所 (詳細)]フォルダのフィールドを使用します。
  • 可能な場合は、次の要素を使用しないようにします。
    • カスタムピックリストフィールド。
    • [所有ユーザー]フォルダのフィールド。かわりに、[所有者]フィールドを使用します。
    • [取引先]フォルダ内の[プライマリ担当者]フォルダのフィールド。
    • [日付]フィールドまたは[日時]フィールドのCAST関数。
    • [親取引先]、[最終変更者]、[作成者]、[マネージャ]の各フィールド。
    • [作成日]、[クローズ日]などの日付型フォルダのフィールド。

      これらのフォルダの日付属性を週、月、四半期または年でグループ化する簡便な方法がありますが、この方法を使用するとクエリーが複雑になり、レポートのパフォーマンスに影響する場合があります。日付フォルダのフィールドに関するパフォーマンス問題が発生する場合は、[プライマリレコードタイプ]フォルダの[日付]フィールドまたは[日時]フィールドを使用してみてください。たとえば、[クローズ日]フォルダのフィールドを選択するのではなく、商談サブジェクトエリアを開き、[商談]フォルダの[クローズ日]フィールドを選択します。

パフォーマンス向上のガイドライン

パフォーマンスを向上させるには、次のガイドラインに従ってください。

レポートを増分で作成する

次の操作を実行します。

  • 小規模に作成を開始し、テストしながら構築を進めます。使用するフィールド数も最初は少なくし、徐々にカラムを追加していきます。
  • フィルターをテストして最適な使用順序を見つけます。

    使用する順序を変更することでパフォーマンスが向上または低下する可能性がありますが、その順序は試行錯誤して見つけるしかありません。

フィールド間またはカラム間でのレコードタイプの使用は最小限に抑える

次のガイドラインに従います。

  • カラム。分析の複数のレコードタイプからカラムを選択すると、データクエリーが複雑になります。結果の表示速度に影響します。そのため、レポートにクロスレコードタイプフィールドを含める場合はこの点を考慮する必要があります。
  • カラムセレクター。同じレコードタイプ内のすべてのカラムセレクターを保持します。可能な場合は、複数のレコードタイプ間でのカラムセレクターは使用しないでください。
  • プロンプト。すべてのプロンプト参照フィールドを同じレコードタイプフォルダ内で作成するよう心がけます。

インデックス付きフィールドの使用

次の操作を実行します。

  • リアルタイムレポートのデータをフィルターする場合は、インデックス付きフィールドを使用します。

    インデックス付きフィールドは、レポート結果の表示にかかる時間を短縮するように最適化されています。

  • データを設定する場合は事前に計画を立て、インデックス付きフィールドに適切なデータを保存します。

    この方法に従うことにより、インデックス付きフィールドを使用したレポートを構築し、最適な箇所に組み込むことができます。Oracle CRM On Demandには一定のインデックス付きカスタムフィールドが用意されています。インデックス付きカスタムフィールドの数はフィールドタイプおよびレコードタイプによって異なります。

組織の階層を5レベルまでに制限する

組織階層のユーザーの位置が高いほど、多くのデータが返されるため、レポートの実行が遅くなります。階層は最大5レベルまでに制限してください。

フィルターの使用

フィルターを使用することで、分析にアクセスしたときに返されるデータの量が制限されます。フィルターを使用すると、レポートの実行速度が向上します。

  • レポート作成を開始する前にフィルターを適用します。データ量が膨大な場合は、レポートのプレビューを実行する前にフィルターを適用します。
  • ドライビングレコードタイプを優先的にフィルターします。たとえば、活動サブジェクトエリアを使用する場合には活動をフィルターします。
  • 最初に制限が多いフィルターを選択し、試しながら必要に応じて制限を緩和していきます。

ただし、フィルターを追加する場合には、次のガイドラインに従ってください。

  • フィルターで、内在するCASE式を使用するカラムを参照すると、式およびその式に関連する処理によってはレポートのパフォーマンスが低下する可能性があります。CASE文などの式を使用するフィールドをフィルターするときは、フィルターを試しながら、レポートのパフォーマンスにどう影響するかを確認してください。
  • CASE式を使用する前に、次のことを考えてください。
    • この分類はOracle CRM On Demandの Workflow関数で実行できますか?
    • この分類コードは他のレポートに存在しますか?存在する場合は、新しいカラムを作成し、そのカラムを設定するワークフローを作成することを検討します。
  • すべての[日時]フィールドにはタイムゾーンの変換処理があり、この処理がレポートのパフォーマンスに影響するため、カスタム[日付]フィールドをフィルターするレポートはカスタム[日時]フィールドをフィルターする同様のレポートより短時間で実行される可能性があります。フィルターにはなるべくカスタム[日時]フィールドではなく、カスタム[日付]フィールドを使用してください。
  • 異なるレコードタイプまたはカラムでのOR句の使用(たとえば、SR.Type = 'A' OR SR.Priority = 'High' OR Account.Industry = 'Medical')は避けます。かわりに次のようにします。
    • OR句を削除し、ピボット表で分類を続けます。
    • レポートを複数の小さいレポートに分割し、連結分析を使用して結果をマージします。

ガイドラインに従ってプロンプトを定義する

Oracle CRM On Demandの[分析の作成と表示]ページのステップ3に従って、レポートのプロンプトを定義できます。ユーザーはこれらのプロンプトを利用して、完成済みレポートにアクセスし、レポートのデータを制限するための選択を行うことができます。プロンプトを使用したレポートを実行する場合、プロンプトとレポートの処理時間がユーザー経験に影響します。

レポートにプロンプトを追加する場合は、次のガイドラインに従います。

  • レポートに使用するプロンプトの数を最小限に抑えます。
  • イメージプロンプトに高解像度のイメージを使用することを避けます。100dpiを超えるイメージをレポートに使用しないことをお勧めします。パフォーマンスを重視する場合、使用するイメージの解像度を50dpi以下に抑えます。
  • プロンプトを定義する場合、パフォーマンスを最高にするには、ユーザーに表示する値のメニューで[なし]またはすべての値を選択します。限定されたフィルター値を選択しないでください。このオプションを選択すると、レポートに表示するプロンプトの選択が制限されます。制限はレポートに適用する他のフィルターおよびプロンプトに基づいて決まります。レポートに大量のデータを使用する場合、このオプションを選択するとレポートのパフォーマンスが低下します。

    [なし]、すべての値、限定されたフィルター値の各オプションを選択するかどうかを決める場合は、レポートのパフォーマンスレベルと選択可能な値の最適表示とのバランスをとることをお勧めします。

詳細レポートへのドリルダウンリンクの設定

長大なデータテーブル、チャート、グラフを表示するレポートを作成するのではなく、次のようにします。

  • 概要情報またはトレンドを示す初期レポートを作成し、ユーザーがそこから詳細情報にドリルダウンするように設計します。
  • 最初のレポートのデータをターゲットにして、より詳細な情報のレポートを作成します。概要レポートへのドリルダウンリンクを設定します。

次の手順では、レポートをテーブルにリンクする方法を説明します。

レポートをテーブルにリンクするには

  1. カラムの書式設定のアイコンをクリックして、[カラムのプロパティ]ダイアログボックスを開きます。
  2. [カラムの書式]タブをクリックします。
  3. 値のインタラクションタイプのドロップダウンリストから[移動]を選択します。
  4. [他の分析に移動]フィールドで、ドリルダウンする詳細レポートを参照し、[OK]をクリックします。

次の手順では、レポートをチャートにリンクする方法を説明します。

レポートをチャートにリンクするには

  1. チャート編集ページの左側の[分析:レポート]タイトルバーにあるその他のチャートオプションのアイコンをクリックします。
  2. [インタラクション]タブをクリックします。
  3. [移動]を選択し、チャートからドリルダウンする詳細レポートを参照します。

集合演算の数を制限する

高度な機能を利用してクエリーを結合できます。クエリーで結合や交差などの集合演算やその他の結合操作を実行して、最終的なレポートを作成できます。結合するクエリー結果の数が多いほど、最終レポートの実行にかかる処理時間は長くなります。処理時間を短くするには、集合演算の数を3つ以内に制限します。

HTMLコードとナレーティブをわかりやすくする

SQLに関連するHTMLを使用する場合は、次のことを実行します。

  • HTMLをわかりやすく簡潔にし、不要なタグや余分な情報を含めないようにします。
  • ナレーティブをわかりやすく簡潔にし、不要な手順を含めないようにします。

    ナレーティブを簡潔にすると、フォーマットの指定が効率的になり、パフォーマンスの問題が少なくなります。

ピボット表のカラムを削除する

ピボットテーブルを使用すると、複数のレポートを作成しなくてもレポートを複数のビューに表示できますが、パフォーマンスに影響する場合があります。可能なかぎり、ピボットテーブル内で使用されているレポート基準(ステップ 1 - [条件を定義])からカラムを削除してください。

チャートのピボット結果を使用する

可能なかぎり、チャートを使用する各ピボットテーブルには、別のチャートビューを作成するのではなく、チャートのピボット結果を使用します。Oracle CRM On Demandはチャートをピボットテーブルで同時に作成するのではなく、それぞれ個別に作成する必要があるため、レポートに複数のチャートを使用すると、処理時間が長くなる可能性があります。

レポートをスケーラブルにする

すべての本番データをインポートする前のテストではレポートがうまく実行される場合があります。すべての本番データをインポートし、データ量が増えると、レポートのパフォーマンスが低下します。Oracle CRM On Demandの実装途中では、すべての本番データをインポートした後で再テストしてレポートをチューニングする時間を考慮する必要があります。

最適化されたコードフィールドおよびUTCフィールドをフィルターで使用する

多くのレポートサブジェクトエリアでは、ディメンションにフィルターでの使用時にクエリー時間を短縮するために最適化された特別なフィールドがあります。最適化されたフィールドの末尾には、コードまたはUTCという語が付いています。たとえば、取引先ディメンションには[取引先タイプ]フィールドがあります。また、[取引先タイプ]フィールドが最適化されたフィールドである[取引先タイプコード]フィールドもあります。レポートでは、最適化されたフィールドと最適化されていないフィールドの両方で同じ結果が生成されますが、最適化されたフィールドをフィルターで使用した場合、より高速なクエリーが生成されます。この方法は、最適化されていないフィールドを使用するよりも高速です。フィルター条件でこれらのフィールドを使用した場合、追加の表結合が減少し、企業のタイムゾーンに基づいたタイムスタンプ変換が回避されます。

注:これらの最適化されたフィールドは、サポートされているすべての言語の翻訳をサポートしていますが、レコードタイプの名前変更はサポートしていません。

特定のレポートサブジェクトエリアに最適化されたフィルター処理フィールドが存在するかどうかを確認するには、そのサブジェクトエリアのオンラインヘルプを参照し、「最適化されたフィルター処理フィールド」という見出しを検索します。


公開日 2016 年 10 月 Copyright © 2005, 2016, Oracle. All rights reserved. Legal Notices.