QueryBuilder クラス
同期クライアントに対して OData クエリを構築および実行するための Fluent インターフェイス。
構成可能なフィルター式を使用して複雑なクエリを構築するためのメソッド チェーンを提供します。 スタンドアロン ( build()経由) またはクライアントにバインド ( execute 経由) で使用できます。
例
スタンドアロン クエリの構築:
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}
メソッド
| execute |
クエリを実行し、結果を返します。 すべてのページが収集された QueryResult を返します。 execute_pagesを使用して、ページごとの遅延反復を行います。 このメソッドは、
バージョン The: 例:
|
| execute_pages |
HTTP ページごとに 1 つの QueryResult を遅延で生成します。 各イテレーションは、
例:
|
| to_dataframe |
クエリを実行し、pandas DataFrame として結果を返します。
バージョン Use: すべてのページが 1 つの DataFrame に統合されます。 このメソッドは、
例:
|
execute
クエリを実行し、結果を返します。
すべてのページが収集された QueryResult を返します。 execute_pagesを使用して、ページごとの遅延反復を行います。
このメソッドは、 client.query.builder(table)を使用して QueryBuilder が作成された場合にのみ使用できます。 スタンドアロン QueryBuilder インスタンスでは、 build() を使用してパラメーターを取得し、手動で client.records.list() に渡す必要があります。
execute()する前に、少なくとも 1 つのselect()、where()、またはtop()を呼び出す必要があります。それ以外の場合は、テーブル全体を誤ってスキャンしないようにValueErrorが発生します。
バージョン The:by_page 以降非推奨パラメーターは非推奨です。
execute_pagesは、ページごとの遅延反復に使用するか、既定の一括結果にプレーンなexecute() (フラグなし) を使用します。
例:
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]
キーワードのみのパラメーター
| 名前 | 説明 |
|---|---|
|
by_page
|
規定値: <object object at 0x0000021A213288E0>
|
返品
| 型 | 説明 |
|---|---|
|
QueryResult すべてのページが収集された状態 (既定)、またはページ反復子 (非推奨の |
例外
| 型 | 説明 |
|---|---|
|
|
|
|
クエリが次の方法で作成されていない場合 |
execute_pages
HTTP ページごとに 1 つの QueryResult を遅延で生成します。
各イテレーションは、 @odata.nextLinkを介してネットワーク要求をトリガーします。
ワンショット — 複数回繰り返さないでください。
execute_pages()する前に、少なくとも 1 つのselect()、where()、またはtop()を呼び出す必要があります。それ以外の場合は、テーブル全体を誤ってスキャンしないようにValueErrorが発生します。
例:
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]
返品
| 型 | 説明 |
|---|---|
|
ページごとの QueryResultの反復子。 |
例外
| 型 | 説明 |
|---|---|
|
|
|
|
クエリが次の方法で作成されていない場合 |
to_dataframe
クエリを実行し、pandas DataFrame として結果を返します。
バージョン Use:QueryBuilder.execute().to_dataframe() 以降非推奨その代わりに。
QueryBuilder.to_dataframe() は今後のリリースで削除される予定です。
すべてのページが 1 つの DataFrame に統合されます。
このメソッドは、 client.query.builder(table)を使用して QueryBuilder が作成された場合にのみ使用できます。
to_dataframe()する前に、少なくとも 1 つのselect()、where()、またはtop()を呼び出す必要があります。それ以外の場合は、テーブル全体を誤ってスキャンしないようにValueErrorが発生します。
例:
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
返品
| 型 | 説明 |
|---|---|
|
一致するすべてのレコードを含む DataFrame。 レコードが一致しない場合は、空の DataFrame を返します。 |
例外
| 型 | 説明 |
|---|---|
|
|
|
|
クエリが次の方法で作成されていない場合 |