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
str

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 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_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())
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())

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 by_page=True).

Excepciones

Tipo Description

Si no se ha establecido ninguna selectwheretop restricción.

Si la consulta no se creó a través de client.query.builder()

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 selectwheretop restricción.

Si la consulta no se creó a través de client.query.builder()

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 selectwheretop restricción.

Si la consulta no se creó a través de client.query.builder()