Analytics OData メタデータ

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Analytics のエンティティ モデルに関連付けられているメタデータを理解することは、プログラムによって Analytics のデータ モデルにクエリを実行するための前提条件です。 OData メタデータは、クライアントの使用を可能にするために設計されたエンティティ モデルのマシンで読み取り可能な説明です。

注意

"Open Data Protocol (OData) は、HTTP などのコア プロトコルと、REST for the web などの一般的に受け入れられる手法に基づいて構築されたデータ アクセス プロトコルです。 OData サービスを使用するには、さまざまな種類のライブラリとツールを使用できます。" - OData Organization の基本的なチュートリアル

この記事では、以下を行う方法について説明します。

  • 特定のプロジェクトのメタデータに対してクエリを実行する
  • organizationのメタデータに対してクエリを実行する
  • エンティティに関連付けられているキー、プロパティ、ナビゲーション プロパティを特定する
  • Analytics OData エンドポイントの機能を特定する

すべての OData 要素の詳細な説明については、「 OData モデル」を参照してください。 メタデータのクエリの詳細については、「 Analytics の OData クエリを構築する」を参照してください。

注意

Analytics サービスは、すべてのAzure DevOps Servicesの運用環境で自動的に有効になり、サポートされます。 Power BI 統合 と Analytics Service の OData フィード へのアクセスが一般提供されています。 これを使用し、フィードバックをお寄せください。 使用可能なデータはバージョンによって異なります。 サポートされている最新バージョンは で v2.0、最新のプレビュー バージョンは です v4.0-preview。 詳細については、「 OData API のバージョン管理」を参照してください。

注意

Analytics サービスは、Azure DevOps Server 2020 以降のバージョンのすべての新しいプロジェクト コレクションに対して、運用環境で自動的にインストールされ、サポートされます。 Power BI 統合 と Analytics Service の OData フィード へのアクセスが一般提供されています。 これを使用し、フィードバックをお寄せください。 Azure DevOps Server 2019 からアップグレードした場合は、アップグレード中に Analytics サービスをインストールできます。

使用可能なデータはバージョンによって異なります。 サポートされている最新バージョンは で v2.0、最新のプレビュー バージョンは です v4.0-preview。 詳細については、「 OData API のバージョン管理」を参照してください。

注意

Analytics サービスは、Azure DevOps Server 2019 のプレビュー段階です。 プロジェクト コレクションに対 して有効またはインストール できます。 Power BI の統合 と、Analytics サービスの OData フィード へのアクセスはプレビュー段階です。 これを使用し、フィードバックをお寄せください。

使用可能なデータはバージョンによって異なります。 サポートされている最新バージョンは で v2.0、最新のプレビュー バージョンは です v4.0-preview。 詳細については、「 OData API のバージョン管理」を参照してください。

エンティティ セットとエンティティ型

エンティティは、データ モデルのコア ID 型です。 エンティティ セットは、エンティティの名前付きコレクションです。 たとえば、 Projects はエンティティを含む Project エンティティ セットです。 エンティティは、最大で 1 つのエンティティ セットのメンバーにすることができます。

EntitySets プロパティと EntityTypes リレーションシップを含む分析モデル内の各エンティティを定義します。 エンティティ型は、エンティティの名前付きプロパティとリレーションシップを定義します。 エンティティ型は、他のエンティティ型から単一継承によって派生する場合があります。 エンティティ型のキーは、そのプリミティブ プロパティのサブセットから形成されます。

次の例は、エンティティ型に関連付けられているメタデータを Project 示しています。

<EntityType Name="Project">
  <Key>
    <PropertyRef Name="ProjectSK"/>
  </Key>
  <Property Name="ProjectSK" Type="Edm.Guid" Nullable="false"/>
  <Property Name="ProjectId" Type="Edm.Guid" Nullable="false">
    <Annotation Term="Display.DisplayName" String="Project Id"/>
  </Property>
  <Property Name="ProjectName" Type="Edm.String" Nullable="false">
    <Annotation Term="Display.DisplayName" String="Project Name"/>
  </Property>
  <Property Name="AnalyticsUpdatedDate" Type="Edm.DateTimeOffset"/>
  <Property Name="ProjectVisibility" Type="Microsoft.VisualStudio.Services.Analytics.Model.ProjectVisibility">
    <Annotation Term="Display.DisplayName" String="Project Visibility"/>
  </Property>
  <NavigationProperty Name="Areas" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Area)"/>
  <NavigationProperty Name="Iterations" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Iteration)"/>
  <NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>
</EntityType>

[キー]

Keys ナビゲーション プロパティとして使用できる Entity プロパティを定義します。

<Key>
   <PropertyRef Name="ProjectSK"/>
</Key>

Properties

クエリに使用できる 'Entity プロパティのセット。 注釈は、特定のプロパティに関するその他の詳細を表します。

エンド ユーザーに表示する必要がある Analytics のプロパティには、 で注釈が付 DisplayNameけます。

<Property Name="ProjectSK" Nullable="false" Type="Edm.Guid"/>
<Property Name="ProjectId" Nullable="false" Type="Edm.Guid">
   <Annotation String="Project Id" Term="Display.DisplayName"/>
</Property>
<Property Name="ProjectName" Nullable="false" Type="Edm.String">
   <Annotation String="Project Name" Term="Display.DisplayName"/>
</Property>

ReferenceName は、特定のプロパティのシステム識別子を定義するために使用されるもう 1 つの一般的な注釈です。

<Property Name="State" Type="Edm.String">
   <Annotation String="State" Term="Display.DisplayName"/>
   <Annotation String="System.State" Term="Ref.ReferenceName"/>
</Property>

個々のエンティティのクエリを実行すると便利です。 最終的には、別のエンティティの詳細をフィルター処理または展開する必要があります。 そのためには、エンティティ モデルの ナビゲーション プロパティ の使用方法を理解する必要があります。

コレクション型を持つ は NavigationaProperty 、モデル内の多対多リレーションシップを表します。

<NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>

ReferentialConstraints ナビゲーション プロパティをエンティティの特定のキーに結び付け、モデル内の多対一リレーションシップを表します。

<NavigationProperty Name="Project" Type="Microsoft.VisualStudio.Services.Analytics.Model.Project">
   <ReferentialConstraint ReferencedProperty="ProjectSK" Property="ProjectSK"/>
</NavigationProperty>

コンテナー (OData 機能)

EntitySets

エンティティは、データ モデルのコア ID 型です。 エンティティ セットは、エンティティの名前付きコレクションです。 たとえば、 WorkItemsWorkItemRevisionsEntitySets、 という名前Containerの 内にありますEntityContainer。 エンティティは、最大で 1 つのエンティティ セットのメンバーにすることができます。 エンティティ セットは、データ モデルへの主要なエントリ ポイントを提供し、エンティティと関連するナビゲーション プロパティのバインドと注釈のコレクションを表します。

次の構文は、エンティティ セット データ モデルを Projects 示しています。 各エンティティ セットの説明については、「 分析のデータ モデル」を参照してください。

<EntitySet Name="Projects" EntityType="Microsoft.VisualStudio.Services.Analytics.Model.Project">
  <NavigationPropertyBinding Path="Areas" Target="Areas"/>
  <NavigationPropertyBinding Path="Iterations" Target="Iterations"/>
  <NavigationPropertyBinding Path="Teams" Target="Teams"/>
  <Annotation Term="Org.OData.Display.V1.DisplayName" String="Projects"/>
</EntitySet>

機能

機能は、Analytics OData エンドポイントによって認識される 関数 のセットを定義します。

<Annotation Term="Org.OData.Capabilities.V1.FilterFunctions">
   <Collection>
      <String>contains</String>
      <String>endswith</String>
      <String>startswith</String>
      <String>length</String>
      <String>indexof</String>
      <String>substring</String>
      <String>tolower</String>
      <String>toupper</String>
      <String>trim</String>
      <String>concat</String>
      <String>year</String>
      <String>month</String>
      <String>day</String>
      <String>hour</String>
      <String>minute</String>
      <String>second</String>
      <String>fractionalseconds</String>
      <String>round</String>
      <String>floor</String>
      <String>ceiling</String>
      <String>date</String>
      <String>time</String>
      <String>isof</String>
      <String>cast</String>
   </Collection>
</Annotation>

集計関数

集計注釈は、Analytics OData エンドポイントによって認識される 変換 のセットを定義します。

<Annotation Term="Org.OData.Aggregation.V1.ApplySupported">
   <Record>
      <PropertyValue Property="Transformations">
         <Collection>
            <String>aggregate</String>
            <String>filter</String>
            <String>groupby</String>
            <String>compute</String>
            <String>expand</String>
         </Collection>
      </PropertyValue>
      <PropertyValue Property="CustomAggregationMethods ">
         <Collection>
           <String>ax.ApproxCountDistinct</String>
           <String>ax.StandardDeviation</String>
           <String>ax.StandardDeviationP</String>
           <String>ax.Variance</String>
           <String>ax.VarianceP</String>
         </Collection>
      </PropertyValue>
   </Record>
</Annotation>
<Annotation Term="Org.OData.Capabilities.V1.BatchSupportType" Bool="true"/>
<Annotation Term="Org.OData.Capabilities.V1.BatchSupportType">
   <Record>
      <PropertyValue Property="Supported" Bool="true"/>
      <PropertyValue Property="ContinueOnErrorSupported" Bool="false"/>
      <PropertyValue Property="ReferencesInRequestBodiesSupported" Bool="false"/>
      <PropertyValue Property="ReferencesAcrossChangeSetsSupported" Bool="false"/>
      <PropertyValue Property="EtagReferencesSupported" Bool="false"/>
   </Record>
</Annotation>

次の手順