Bagikan melalui


Fungsi dan klausa OData yang didukung

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Artikel ini membahas bagaimana Analytics mendukung beberapa fungsi OData. Fungsi yang tidak didukung juga tercantum. OData (Open Data Protocol) adalah standar OASIS yang disetujui ISO/IEC yang mendefinisikan praktik terbaik untuk membangun dan menggunakan REST API. Untuk mempelajari selengkapnya, lihat dokumentasi OData.

Catatan

Layanan Analytics secara otomatis diaktifkan dan didukung dalam produksi untuk semua Layanan Azure DevOps. Integrasi dan akses Power BI ke umpan OData Layanan Analitik umumnya tersedia. Kami mendorong Anda untuk menggunakannya dan memberi kami umpan balik. Data yang tersedia bergantung pada versi. Versi terbaru yang didukung adalah v2.0, dan versi pratinjau terbaru adalah v4.0-preview. Untuk informasi selengkapnya, lihat Penerapan versi OData API.

Catatan

Layanan Analytics secara otomatis diinstal dan didukung dalam produksi untuk semua koleksi proyek baru untuk Azure DevOps Server 2020 dan versi yang lebih baru. Integrasi dan akses Power BI ke umpan OData Layanan Analitik umumnya tersedia. Kami mendorong Anda untuk menggunakannya dan memberi kami umpan balik. Jika Anda meningkatkan dari Azure DevOps Server 2019, maka Anda dapat menginstal layanan Analytics selama peningkatan.

Data yang tersedia bergantung pada versi. Versi terbaru yang didukung adalah v2.0, dan versi pratinjau terbaru adalah v4.0-preview. Untuk informasi selengkapnya, lihat Penerapan versi OData API.

Catatan

Layanan Analytics sedang dalam pratinjau untuk Azure DevOps Server 2019. Anda dapat mengaktifkan atau menginstalnya untuk koleksi proyek. Integrasi dan akses Power BI ke umpan OData Layanan Analitik ada di Pratinjau. Kami mendorong Anda untuk menggunakannya dan memberi kami umpan balik.

Data yang tersedia bergantung pada versi. Versi terbaru yang didukung adalah v2.0, dan versi pratinjau terbaru adalah v4.0-preview. Untuk informasi selengkapnya, lihat Penerapan versi OData API.

Klausa yang didukung

  • $apply
  • $compute
  • $count
  • $expand
  • $filter
  • $orderby
  • $select
  • $skip
  • $top

Saat beberapa klausa digunakan dalam kueri, klausul tersebut diterapkan dalam urutan yang ditentukan di atas. Urutan klausa dalam string kueri diabaikan. Misalnya, dalam kueri berikut, item kerja pertama kali dikelompokkan dan diagregasi. Selanjutnya, grup difilter. Setelah itu, grup yang difilter diurutkan. Akhirnya, lima rekaman pertama dikembalikan. Kueri mengembalikan lima jenis item kerja teratas yang digunakan setidaknya 100 kali.

WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5

Dukungan ekstensi agregasi

Dibutuhkan urutan transformasi yang ditetapkan, dipisahkan oleh garis miring ke depan untuk mengekspresikan bahwa mereka diterapkan secara berturut-turut. Hasil dari setiap transformasi adalah input ke transformasi berikutnya. Misalnya, dalam kueri berikut, item kerja difilter lalu dikelompokkan menurut jenis dan status item kerja. Selanjutnya, grup difilter dan dikelompokkan lagi.

Catatan

Ekstensi agregasi OData relatif baru dan belum sepenuhnya didukung oleh beberapa alat klien.

Workitems?$apply=filter(State ne 'Closed')/groupby((WorkItemType, State), aggregate($count as Count))/filter(Count gt 100)/groupby((State),aggregate(Count with max as MaxCount))  

Transformasi berikut didukung:

Transformasi Catatan
aggregate Memungkinkan agregasi menggunakan salah satu metode $countberikut , , averagemax, min,sum
compute Memungkinkan penambahan properti terhitung
expand Memungkinkan ekspansi oleh properti tertentu
filter Memungkinkan pemfilteran set input. Mendukung ekspresi yang sama dengan $filter
groupby Memungkinkan pengelompokan menurut properti

Untuk informasi selengkapnya, lihat Data pelacakan kerja agregat.

Fungsi yang didukung

Fungsi kanonis Deskripsi
cast Mengembalikan ekspresi dari transmisi instans saat ini ke jenis yang ditentukan.
contains Mengembalikan true jika nilai string parameter kedua adalah substring dari nilai string parameter pertama, jika tidak, nilai tersebut mengembalikan false.
endswith Mengembalikan true jika nilai string parameter pertama berakhir dengan nilai string parameter kedua, jika tidak, nilai tersebut mengembalikan false.
startswith Mengembalikan true jika nilai string parameter pertama dimulai dengan nilai string parameter kedua, jika tidak, nilai tersebut mengembalikan false.
length Mengembalikan jumlah karakter dalam nilai parameter.
indexof Mengembalikan posisi karakter berbasis nol dari kemunculan pertama nilai parameter kedua dalam nilai parameter pertama atau -1 jika nilai parameter kedua tidak terjadi dalam nilai parameter pertama.
substring Mengembalikan substring dari nilai string parameter pertama, dimulai dari karakter ke-N dan menyelesaikan pada karakter terakhir (di mana N adalah nilai bilangan bulat parameter kedua).
tolower Mengembalikan nilai string parameter input dengan semua karakter huruf besar yang dikonversi menjadi huruf kecil.
toupper Mengembalikan nilai string parameter input dengan semua karakter huruf kecil yang dikonversi menjadi huruf besar.
trim Mengembalikan nilai string parameter input dengan semua karakter spasi awal dan akhir.
year Mengembalikan komponen tahun dari nilai parameter Date atau DateTimeOffset.
month Mengembalikan komponen bulan dari nilai parameter Date atau DateTimeOffset.
day Mengembalikan komponen hari dari nilai parameter Date atau DateTimeOffset.
date Mengembalikan bagian tanggal dari nilai parameter DateTimeOffset.
time Mengembalikan bagian waktu dari nilai parameter DateTimeOffset.
totaloffsetminutes Mengembalikan jumlah menit yang ditandatangani di bagian offset zona waktu dari nilai parameter DateTimeOffset.
now Mengembalikan titik waktu saat ini (tanggal dan waktu dengan zona waktu) sebagai nilai DateTimeOffset.
maxdatetime Mengembalikan titik waktu semutak mungkin sebagai nilai DateTimeOffset.
mindatetime Mengembalikan titik waktu paling awal yang mungkin sebagai nilai DateTimeOffset.

Fungsi OData digunakan dalam $filter klausul, tetapi tidak dalam $select klausul seperti yang akan digunakan dalam pernyataan SQL.

Misalnya, Anda dapat menentukan:

/WorkItems?$filter=toupper(Title) eq 'HELP' 

Namun, Anda tidak dapat memasukkan string berikut:

/WorkItems?$select=WorkItemId,State,toupper(Title)

Fitur tidak didukung

  • bottomcount
  • bottomsum
  • bottompercent
  • $crossjoin
  • concat
  • countdistinct
  • from
  • isdefined
  • $rollup
  • $search
  • topcount
  • topsum
  • toppercent