Sdílet prostřednictvím


Analytická metadata OData

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pochopení metadat přidružených k modelu entit pro analýzu je předpokladem pro programové dotazování datového modelu pro analýzu. Metadata OData jsou strojově čitelný popis modelu entit, který je navržený tak, aby umožňoval využití klienta.

Poznámka

"Open Data Protocol (OData) je protokol pro přístup k datům založený na základních protokolech, jako je HTTP, a běžně přijímaných metodologiích, jako je REST pro web. Existují různé druhy knihoven a nástrojů, které se dají použít k využívání služeb OData. - Základní kurz organizace OData.

V tomto článku se dozvíte, jak:

  • Dotazování na metadata konkrétního projektu
  • Dotazování na metadata v organizaci
  • Identifikace klíčů, vlastností a navigačních vlastností přidružených k entitě
  • Identifikace možností koncového bodu Analytics OData

Podrobný popis všech prvků OData najdete v tématu Model OData. Informace o dotazování metadat najdete v tématu Vytváření dotazů OData pro analýzu.

Poznámka

Služba Analytics je automaticky povolená a podporovaná v produkčním prostředí pro všechny Azure DevOps Services. Integrace Power BI a přístup k datovému kanálu OData analytické služby jsou obecně dostupné. Doporučujeme, abyste ji použili a poskytli nám zpětnou vazbu. Dostupná data závisí na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka

Služba Analytics se automaticky nainstaluje a podporuje v produkčním prostředí pro všechny nové kolekce projektů pro Azure DevOps Server 2020 a novější verze. Integrace Power BI a přístup k datovému kanálu OData analytické služby jsou obecně dostupné. Doporučujeme, abyste ji použili a poskytli nám zpětnou vazbu. Pokud jste upgradovali z Azure DevOps Server 2019, můžete během upgradu nainstalovat službu Analytics.

Dostupná data závisí na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka

Služba Analytics je ve verzi Preview pro Azure DevOps Server 2019. Můžete ho povolit nebo nainstalovat pro kolekci projektů. Integrace Power BI a přístup k datovému kanálu OData analytické služby jsou ve verzi Preview. Doporučujeme, abyste ji použili a poskytli nám zpětnou vazbu.

Dostupná data závisí na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Sady entit a typy entit

Entity jsou základními typy identit v datovém modelu. Sady entit jsou pojmenované kolekce entit. Například Projects je sada entit obsahující Project entity. Entita může být členem maximálně jedné sady entit.

EntitySets a EntityTypes definujte každou entitu v analytickém modelu, včetně vlastností a relací. Typy entit definují pojmenované vlastnosti a vztahy entity. Typy entit mohou být odvozeny jednou dědičností z jiných typů entit. Klíč typu entity je tvořen podmnožinou jejích primitivních vlastností.

Následující příklad ukazuje metadata přidružená k Project typu entity.

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

Klíče

Keys definovat vlastnosti entity, které jsou k dispozici pro použití jako navigační vlastnost.

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

Vlastnosti

Sada vlastností entity, které jsou k dispozici pro dotaz. Poznámky představují další podrobnosti o dané vlastnosti.

Každá vlastnost Analytics, která by měla být viditelná pro koncové uživatele, se anotuje pomocí 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 je další běžná poznámka, která slouží k definování identifikátoru systému pro konkrétní vlastnost.

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

Dotazování jednotlivé entity je užitečné. Nakonec budete pravděpodobně chtít filtrovat nebo rozbalit podrobnosti jiné entity. K tomu je potřeba pochopit, jak používat navigační vlastnosti modelu entit.

Typ NavigationaProperty kolekce představuje relaci M:N v modelu.

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

ReferentialConstraints spojit navigační vlastnosti s konkrétním klíčem entity, který představuje relaci M:1 v modelu.

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

Kontejnery (možnosti OData)

EntitySets

Entity jsou základními typy identit v datovém modelu. Sady entit jsou pojmenované kolekce entit. Například WorkItems a WorkItemRevisions jsou EntitySets v pojmenovaném Containerobjektu EntityContainer . Entita může být členem maximálně jedné sady entit. Sady entit poskytují primární vstupní body do datového modelu a představují kolekci entit a přidružených vazeb a poznámek navigačních vlastností.

Následující syntaxe označuje Projects datový model sady entit. Popis každé sady entit najdete v tématu Datový model pro analýzu.

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

Možnosti

Možnosti definují sadu funkcí , které rozumí koncový bod 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>

Agregace

Agregační poznámky definují sadu transformací , které rozumí koncový bod 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>

Další kroky