QueryBuilder Kelas

Antarmuka yang fasih untuk membangun dan menjalankan kueri OData terhadap klien sinkronisasi.

Menyediakan penautan metode untuk membuat kueri kompleks dengan ekspresi filter yang dapat disusun. Dapat digunakan mandiri (melalui build()) atau terikat ke klien (melalui execute).

Konstruktor

QueryBuilder(table: str)

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel untuk dikueri.

Contoh

Konstruksi kueri mandiri:


   from PowerPlatform.Dataverse.models import col

   query = (QueryBuilder("account")
            .select("name")
            .where(col("statecode") == 0)
            .top(10))
   params = query.build()
   # {"table": "account", "select": ["name"],
   #  "filter": "statecode eq 0", "top": 10}

Metode

execute

Jalankan kueri dan kembalikan hasil.

Mengembalikan dengan semua halaman yang QueryResult dikumpulkan. Gunakan execute_pages untuk iterasi per halaman yang malas.

Metode ini hanya tersedia ketika QueryBuilder dibuat melalui client.query.builder(table). Instans mandiri QueryBuilder harus digunakan build() untuk mendapatkan parameter dan meneruskannya client.records.list() secara manual.

Setidaknya salah satu dari select(), , where()atau top() harus dipanggil sebelumnya execute(); jika tidak, dinaikkan untuk mencegah pemindaian tabel penuh yang ValueError tidak disengaja.

Tidak digunakan lagi sejak versi:by_page parameter tidak digunakan lagi. Gunakan execute_pages untuk iterasi per halaman yang malas, atau biasa execute() (tanpa bendera) untuk hasil bersemangat default.

Example:


   from PowerPlatform.Dataverse.models import col

   for record in (client.query.builder("account")
                  .select("name")
                  .where(col("statecode") == 0)
                  .execute()):
       print(record["name"])
execute_pages

Lazily menghasilkan satu QueryResult per halaman HTTP.

Setiap iterasi memicu permintaan jaringan melalui @odata.nextLink. Satu tembakan — jangan iterasi lebih dari sekali.

Setidaknya salah satu dari select(), , where()atau top() harus dipanggil sebelumnya execute_pages(); jika tidak, dinaikkan untuk mencegah pemindaian tabel penuh yang ValueError tidak disengaja.

Example:


   from PowerPlatform.Dataverse.models import col

   for page in (client.query.builder("account")
                .select("name")
                .where(col("statecode") == 0)
                .execute_pages()):
       process(page.to_dataframe())
to_dataframe

Jalankan kueri dan kembalikan hasil sebagai Pandas DataFrame.

Tidak digunakan lagi sejak versi Gunakan:QueryBuilder.execute().to_dataframe() Sebaliknya. QueryBuilder.to_dataframe() akan dihapus dalam rilis mendatang.

Semua halaman dikonsolidasikan ke dalam satu DataFrame.

Metode ini hanya tersedia ketika QueryBuilder dibuat melalui client.query.builder(table).

Setidaknya salah satu dari select(), , where()atau top() harus dipanggil sebelumnya to_dataframe(); jika tidak, dinaikkan untuk mencegah pemindaian tabel penuh yang ValueError tidak disengaja.

Example:


   from PowerPlatform.Dataverse.models import col

   df = (client.query.builder("account")
         .select("name", "telephone1")
         .where(col("statecode") == 0)
         .top(100)
         .execute()
         .to_dataframe())

execute

Jalankan kueri dan kembalikan hasil.

Mengembalikan dengan semua halaman yang QueryResult dikumpulkan. Gunakan execute_pages untuk iterasi per halaman yang malas.

Metode ini hanya tersedia ketika QueryBuilder dibuat melalui client.query.builder(table). Instans mandiri QueryBuilder harus digunakan build() untuk mendapatkan parameter dan meneruskannya client.records.list() secara manual.

Setidaknya salah satu dari select(), , where()atau top() harus dipanggil sebelumnya execute(); jika tidak, dinaikkan untuk mencegah pemindaian tabel penuh yang ValueError tidak disengaja.

Tidak digunakan lagi sejak versi:by_page parameter tidak digunakan lagi. Gunakan execute_pages untuk iterasi per halaman yang malas, atau biasa execute() (tanpa bendera) untuk hasil bersemangat default.

Example:


   from PowerPlatform.Dataverse.models import col

   for record in (client.query.builder("account")
                  .select("name")
                  .where(col("statecode") == 0)
                  .execute()):
       print(record["name"])
execute(*, by_page=<object object>) -> QueryResult | Iterator[QueryResult]

Parameter Kata Kunci-Saja

Nama Deskripsi
by_page
Nilai default: <object object at 0x0000021A213288E0>

Mengembalikan

Jenis Deskripsi

QueryResult dengan semua halaman yang dikumpulkan (default), atau iterator halaman (tidak digunakan by_page=Truelagi ).

Pengecualian

Jenis Deskripsi

Jika tidak ada selectwheretop batasan yang telah ditetapkan.

Jika kueri tidak dibuat melalui client.query.builder()

execute_pages

Lazily menghasilkan satu QueryResult per halaman HTTP.

Setiap iterasi memicu permintaan jaringan melalui @odata.nextLink. Satu tembakan — jangan iterasi lebih dari sekali.

Setidaknya salah satu dari select(), , where()atau top() harus dipanggil sebelumnya execute_pages(); jika tidak, dinaikkan untuk mencegah pemindaian tabel penuh yang ValueError tidak disengaja.

Example:


   from PowerPlatform.Dataverse.models import col

   for page in (client.query.builder("account")
                .select("name")
                .where(col("statecode") == 0)
                .execute_pages()):
       process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]

Mengembalikan

Jenis Deskripsi

Iterator per halaman QueryResult.

Pengecualian

Jenis Deskripsi

Jika tidak ada selectwheretop batasan yang telah ditetapkan.

Jika kueri tidak dibuat melalui client.query.builder()

to_dataframe

Jalankan kueri dan kembalikan hasil sebagai Pandas DataFrame.

Tidak digunakan lagi sejak versi Gunakan:QueryBuilder.execute().to_dataframe() Sebaliknya. QueryBuilder.to_dataframe() akan dihapus dalam rilis mendatang.

Semua halaman dikonsolidasikan ke dalam satu DataFrame.

Metode ini hanya tersedia ketika QueryBuilder dibuat melalui client.query.builder(table).

Setidaknya salah satu dari select(), , where()atau top() harus dipanggil sebelumnya to_dataframe(); jika tidak, dinaikkan untuk mencegah pemindaian tabel penuh yang ValueError tidak disengaja.

Example:


   from PowerPlatform.Dataverse.models import col

   df = (client.query.builder("account")
         .select("name", "telephone1")
         .where(col("statecode") == 0)
         .top(100)
         .execute()
         .to_dataframe())
to_dataframe() -> DataFrame

Mengembalikan

Jenis Deskripsi

DataFrame berisi semua rekaman yang cocok. Mengembalikan DataFrame kosong jika tidak ada rekaman yang cocok.

Pengecualian

Jenis Deskripsi

Jika tidak ada selectwheretop batasan yang telah ditetapkan.

Jika kueri tidak dibuat melalui client.query.builder()