QueryBuilder Clase
Interfaz fluent para compilar y ejecutar consultas de OData en un cliente de sincronización.
Proporciona encadenamiento de métodos para construir consultas complejas con expresiones de filtro compuestas. Se puede usar independiente (a través build()de ) o enlazarse a un cliente (a través de execute).
Constructor
QueryBuilder(table: str)
Parámetros
| Nombre | Description |
|---|---|
|
table
Requerido
|
Nombre del esquema de tabla que se va a consultar. |
Ejemplos
Construcción de consultas independientes:
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}
Métodos
| execute |
Ejecute la consulta y devuelva los resultados. Devuelve un QueryResult objeto con todas las páginas recopiladas. Se usa execute_pages para iteración diferida por página. Este método solo está disponible cuando queryBuilder se creó a través Se debe llamar al menos a uno de
En desuso desde la versión : Ejemplo:
|
| execute_pages |
Lazily produce una QueryResult por página HTTP. Cada iteración desencadena una solicitud de red a través de Se debe llamar al menos a uno de Ejemplo:
|
| to_dataframe |
Ejecute la consulta y devuelva resultados como dataFrame de Pandas.
En desuso desde la versión Use: Todas las páginas se consolidan en una sola trama de datos. Este método solo está disponible cuando queryBuilder se creó a través Se debe llamar al menos a uno de Ejemplo:
|
execute
Ejecute la consulta y devuelva los resultados.
Devuelve un QueryResult objeto con todas las páginas recopiladas. Se usa execute_pages para iteración diferida por página.
Este método solo está disponible cuando queryBuilder se creó a través client.query.builder(table)de . Las instancias independientes QueryBuilder deben usar build() para obtener parámetros y pasarlas manualmente client.records.list() .
Se debe llamar al menos a uno de select(), where()o top() antes execute()de ; de lo contrario, se genera un ValueError para evitar exámenes accidentales de tabla completa.
En desuso desde la versión :by_page el parámetro está en desuso. Se usa execute_pages para iteración diferida por página o simple execute() (sin marca) para el resultado diligente predeterminado.
Ejemplo:
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]
Parámetros de palabra clave únicamente
| Nombre | Description |
|---|---|
|
by_page
|
Valor predeterminado: <object object at 0x0000021A213288E0>
|
Devoluciones
| Tipo | Description |
|---|---|
|
QueryResult con todas las páginas recopiladas (valor predeterminado) o iterador de páginas (en desuso |
Excepciones
| Tipo | Description |
|---|---|
|
Si no se ha establecido ninguna |
|
|
Si la consulta no se creó a través de |
execute_pages
Lazily produce una QueryResult por página HTTP.
Cada iteración desencadena una solicitud de red a través de @odata.nextLink.
Un solo disparo: no itera más de una vez.
Se debe llamar al menos a uno de select(), where()o top() antes execute_pages()de ; de lo contrario, se genera un ValueError para evitar exámenes accidentales de tabla completa.
Ejemplo:
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]
Devoluciones
| Tipo | Description |
|---|---|
|
Iterador de por página QueryResult. |
Excepciones
| Tipo | Description |
|---|---|
|
Si no se ha establecido ninguna |
|
|
Si la consulta no se creó a través de |
to_dataframe
Ejecute la consulta y devuelva resultados como dataFrame de Pandas.
En desuso desde la versión Use:QueryBuilder.execute().to_dataframe() en lugar de.
QueryBuilder.to_dataframe() se quitará en una versión futura.
Todas las páginas se consolidan en una sola trama de datos.
Este método solo está disponible cuando queryBuilder se creó a través client.query.builder(table)de .
Se debe llamar al menos a uno de select(), where()o top() antes to_dataframe()de ; de lo contrario, se genera un ValueError para evitar exámenes accidentales de tabla completa.
Ejemplo:
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
Devoluciones
| Tipo | Description |
|---|---|
|
DataFrame que contiene todos los registros coincidentes. Devuelve un dataframe vacío cuando no coinciden registros. |
Excepciones
| Tipo | Description |
|---|---|
|
Si no se ha establecido ninguna |
|
|
Si la consulta no se creó a través de |