メインコンテンツへスキップ
POST
カスタム分析クエリ

概要

Custom Analytics API では、オートコンプリート、チャット、Command のデータに対して、選択項目、フィルター、集計、並べ替えを柔軟にカスタマイズしてクエリできます。

リクエスト

service_key
string
必須
“Analytics Read” 権限を持つサービスキー
group_name
string
結果を特定のグループ内のユーザーに絞り込むための条件です (任意)
query_requests
array
必須
取得するデータを定義するクエリリクエストオブジェクトの配列

クエリリクエストの構造

各クエリリクエストオブジェクトには、次のものが含まれます:
  • data_source (必須) : クエリ対象のデータソース
  • selections (必須) : 取得するフィールド選択の配列
  • filters (任意) : 適用するフィルターの配列
  • aggregations (任意) : グループ化に使用する集計の配列

Selections

Selections では、取得するフィールドとその集計方法を定義します。
  • field (必須) : 選択するフィールドの名前
  • name (任意) : フィールドのエイリアス
  • aggregation_function (任意) : 適用する集計関数

選択例

フィルター

フィルターを使用すると、特定の条件に一致する要素だけにデータを絞り込めます。
  • name (必須) : フィルター対象のフィールド名
  • filter (必須) : フィルター操作
  • value (必須) : 比較対象の値

フィルターの使用例

集計

集計では、指定した条件でデータをグループ化します。
  • field (必須) : グループ化するフィールド名
  • name (必須) : 集計フィールドの別名

集計の例

利用可能なフィールド

ユーザーデータ

すべてのユーザーデータは、ユーザー単位・時間単位で集計されます。

チャットデータ

チャットデータはCascade dataとは別で、レガシーな非エージェント型プラグインの使用量を表します
チャットデータ はすべて、ユーザーの質問ではなく、チャットモデルの応答を表します。

チャットインテントの種類

  • CHAT_INTENT_GENERIC - 通常のチャット
  • CHAT_INTENT_FUNCTION_EXPLAIN - 関数の説明用コードレンズ
  • CHAT_INTENT_FUNCTION_DOCSTRING - 関数のdocstring用コードレンズ
  • CHAT_INTENT_FUNCTION_REFACTOR - 関数のリファクタリング用コードレンズ
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - コードブロックの説明用コードレンズ
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - コードブロックのリファクタリング用コードレンズ
  • CHAT_INTENT_PROBLEM_EXPLAIN - 問題の説明用コードレンズ
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - 関数の単体テスト用コードレンズ

Command データ

Command データには、却下されたものを含むすべてのコマンドが含まれます。受け入れられたコマンドのみに絞り込むには、accepted フィールドを利用してください。

Command の発生元

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - 通常の Command の使用
  • COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR
  • COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS
  • COMMAND_REQUEST_SOURCE_FOLLOWUP
  • COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS
  • COMMAND_REQUEST_SOURCE_PLAN
  • COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS

プロバイダーソース

  • PROVIDER_SOURCE_COMMAND_GENERATE - 生成モード
  • PROVIDER_SOURCE_COMMAND_EDIT - 編集モード

PCW データ

オートコンプリートと Command の寄与を個別に追跡した Percent Code Written データ。

PCWフィルタ

PCW クエリで日付によるフィルタリングを行うには、メインのリクエストボディ内で start_timestampend_timestamp を利用します。

リクエスト例

ユーザーデータの例

チャットデータの例

Command のデータ例

PCWデータの例

レスポンス

queryResults
array
クエリ結果の配列。各クエリリクエストに対応する結果が1つずつ含まれます
responseItems
array
結果アイテムの配列
item
object
選択されたフィールドとその値を含むオブジェクト

レスポンス例

ユーザーデータレスポンス

チャットデータのレスポンス

Command データレスポンス

PCW データのレスポンス

重要な注意事項

  • PCW (Percent Code Written) は日単位やユーザー単位ではばらつきが大きいため、より有用な分析結果を得るには週単位で集計してください
  • すべての選択フィールドで集計関数を指定するか、どのフィールドでも指定しないようにする必要があります (混在は不可)
  • “distinct_*” パターンのフィールドは集計に利用できません
  • フィールドエイリアスは、すべての選択項目および集計全体で一意である必要があります
  • 集計関数が指定されていない場合、デフォルト値はUNSPECIFIEDになります