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
|
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 Setidaknya salah satu dari
Tidak digunakan lagi sejak versi: Example:
|
| execute_pages |
Lazily menghasilkan satu QueryResult per halaman HTTP. Setiap iterasi memicu permintaan jaringan melalui Setidaknya salah satu dari Example:
|
| to_dataframe |
Jalankan kueri dan kembalikan hasil sebagai Pandas DataFrame.
Tidak digunakan lagi sejak versi Gunakan: Semua halaman dikonsolidasikan ke dalam satu DataFrame. Metode ini hanya tersedia ketika QueryBuilder dibuat melalui Setidaknya salah satu dari Example:
|
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 |
Pengecualian
| Jenis | Deskripsi |
|---|---|
|
Jika tidak ada |
|
|
Jika kueri tidak dibuat melalui |
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 |
|
|
Jika kueri tidak dibuat melalui |
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 |
|
|
Jika kueri tidak dibuat melalui |