次の方法で共有


Analytics OData メタデータ

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

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

Note

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

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

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

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

Note

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

Note

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

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

Note

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

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

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

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

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

次の例は、 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 では、ナビゲーション プロパティとして使用できるエンティティ プロパティを定義します。

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

プロパティ

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

エンド ユーザーに表示する必要がある 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>

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

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

<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 型です。 エンティティ セットは、エンティティの名前付きコレクションです。 たとえば、WorkItemsWorkItemRevisionsは、Containerという名前のEntityContainer内でEntitySetsされます。 エンティティは、最大 1 つのエンティティ セットのメンバーにすることができます。 エンティティ セットは、データ モデルへの主要なエントリ ポイントを提供し、エンティティと関連する Navigational プロパティのバインドと注釈のコレクションを表します。

次の構文は、 Projects エンティティ セット データ モデルを示しています。 各エンティティ セットの詳細については、「 Data model for Analytics」を参照してください。

<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>

次のステップ