チュートリアル: レート ページのカスタム集計の作成
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
集計は、MongoDBコレクション データベースからのデータを削減して適応させ、Sitecoreレポート アプリケーションで使用できるようにする処理の一種です。Sitecoreに付属し、エクスペリエンス分析レポートなど、すぐに使用できる集計がいくつかあります。
Webサイトに新しい機能を追加して、xDBから別の方法でデータを抽出して表示する場合は、独自のカスタム集計を記述できます。
抽出するデータが多数のインタラクションからのものである場合、または抽出プロセスが比較的リソースを大量に消費する場合は、このアプローチに従う必要があります。
このチュートリアルでは、sitecore.net Webサイト用に開発された例を使用してカスタム集計を作成する方法について説明します。sitecore.net Webサイトでは、訪問者は自分の星評価を追加してブログ投稿を評価できます。その後、評価データを使用して、投稿を並べ替えたり検索したりできます。
このチュートリアルには、独自のソリューションで再利用できるサンプル コードと、カスタム集計を作成するために必要なすべての手順が含まれています。
レート ページ イベントを作成する
レートページイベントを作成するには、次のコードを実装して、訪問者がブログ投稿を評価するために星をクリックしたときに、システムが現在のページの新しいレートページイベントを登録する必要があります。訪問者がページを評価すると、選択した値(1から5)がCustomValues コレクションにDataCodeキーとともに書き込まれます。
これを行うには、次の手順を実行します。
-
次のコードを実装して、SitecoreIndustry insightのブログ投稿を使用してレート ページ イベントを作成します。
ファクト テーブルの作成
カスタム集計の場合は、集計するエクスペリエンス データの測定値を含む新しいファクト テーブルを作成する必要があります。この例では、新しいファクト テーブルを1つ作成する必要があります。
-
新しいファクト テーブルを作成するには、SQLスクリプトを実行する必要があります。例えば:
-
SQLスクリプトを実行して、新しいファクト テーブルを作成します。
ファクト・モデル・クラスとディメンション・モデル・クラスの作成
新しいディメンションのクラス・モデルを実装するには、次のようにします。
-
DictionaryKeyクラスから継承する新しいクラスを作成し、すべてのキー フィールドをパブリック プロパティ (getとset) として公開します。
-
RatingKey.cs
-
DictionaryValue クラスから継承する新しいクラスを作成し、必要なプロパティを追加します。キーと値クラスの両方に、パブリックなデフォルトコンストラクタが必要です。
-
Dimension<TKey, TValue>クラスから継承する新しいクラスを、パブリックなデフォルトコンストラクタを使用して再度作成します。
-
RatingValue.cs
集計プロセッサを実装する
集計プロセッサを実装するには、次のようにします。
-
AggregationProcessor 基本クラスから継承する新しいクラスを作成します。
-
基本クラスの抽象メソッドとして定義されているOnProcess(AggregationPipelineArgs args) メソッドを実装します。
-
AggregationProcessor.cs
カスタム集計を登録する
集計プロセッサを実装したので、最後の手順として、カスタム集計を登録します。
-
プロセッサが実行されるようにするには、プロセッサを構成ファイルに追加し、App_Config/Includeフォルダに保存します。
-
この目的のために、Rating.Aggregation.configという名前の新しい設定ファイルを作成します。
次のサンプルは、Rating.Aggregation.configファイル内のカスタム集計を追加する場所を示しています。
手記例を試すときは、型名とアセンブリ名が同じ名前空間またはアセンブリを使用していない場合は、必ず更新してください。
このカスタム集計チュートリアルのすべての手順を完了すると、ブログ記事を評価したり、人気度でブログを検索する追加オプションを使用したりできます。