1. Sitecore Cortexレポーティング財団

レポーティングファウンデーションの使用

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

前の手順のインストールに従うと、レポート クライアントを使用する準備が整います。

レポート クライアントの解決

レポート クライアントはIoCコンテナーに登録されておりSitecore DIを使用している場合はIReportingClientを依存関係としてサービスに追加できますSitecore。

または、ServiceLocator Sitecoreを使用して解決します。DependencyInjection:

Sitecore.DependencyInjection.ServiceLocator.ServiceProvider.GetService<IReportingClient>();

データのクエリ

データをクエリするには、メソッドGetFactAsync<TFact>(Action<IFactQueryOptionsBuilder>TFact>> builder) を使用できます。このメソッドは、クエリを作成するデリゲートを受け入れます。以下の例を見つけてください。

await _reportingClient.GetFactAsync<ProductSales>(cfg =>
            {
                cfg.UseConnectionStringName("MyConnectionStringName")
                    .QueryFrom(DateTime.Now.AddYears(-1))
                    .To(DateTime.Now)
                    .ExpandDimension(o => o.Country)
                    .FilterWithKey("MY")
                    .ExpandDimension(o => o.Product);
            });

筆記:

  • レポート クライアント メソッドは非同期です

  • クエリ ビルダーは、クエリを作成するデリゲートであるパラメーターを受け入れます

  • データをクエリする接続文字列名(レポートなど)を渡す必要があります(つまり、SQLオブジェクトを持つデータベース)

  • クエリ差出人...宛先 は、ファクト オブジェクトのDateTimeフィールドに基づいてデータをフィルター処理します。

  • ExpandDimensionは、結果にディメンションを含めます

  • FilterWithKeyは、ディメンションのDimensionKeyに基づいて結果をフィルター処理します

メモ

クエリには、少なくとも1つのフィルター (ディメンションまたは日時) と接続文字列名を含める必要があり、そうでない場合はValidationExceptionがスローされます。

データの削除

ファクトのクエリと同様に、ファクトの削除にも同じフィルターがあります。以下の例を見つけてください。

await _reportingClient.DeleteFactsAsync<ProductSales>(cfg =>
            {
                cfg.UseConnectionStringName("MyConnectionStringName")
                    .DeleteFrom(DateTime.Now.AddYears(-1))
                    .To(DateTime.Now)
                    .DeleteThatHasDimension(o => o.Country)
                    .WithKey("MY");
            });

筆記

  • ビルダーでは、同じフィルターが (異なる名前で) 使用されています。

  • 削除クエリ ビルダーには、少なくとも1つのフィルターと接続文字列も含める必要があります

データの追加または更新

データを追加または更新するには、AddOrUpdate asyncメソッドを使用し、データのリストとともに接続文字列名を渡します。以下の例を確認してください。

await _reportingClient.AddOrUpdateAsync(_connectionStringName, data)
この記事を改善するための提案がある場合は、 お知らせください!