Condividi tramite


Datasets - Execute Queries

Esegue query DAX (Data Analysis Expressions) sul set di dati specificato. Il set di dati deve risiedere nell'area di lavoro personale o in un'altra area di lavoro.

Gli errori di query DAX generano:

  • Errore di risposta, ad esempio DAX query failure.
  • Codice di stato HTTP non riuscito (400).

Una query che richiede più di una tabella o più del numero consentito di righe di tabella genererà:

  • Dati limitati restituiti.
  • Errore di risposta, ad esempio More than one result table in a query o More than {allowed number} rows in a query result.
  • Codice di stato HTTP riuscito (200).

Le colonne complete nella query verranno restituite con un nome completo, ad esempio MyTable[MyColumn]. Le colonne rinominate o create nella query verranno restituite tra parentesi quadre, [MyNewColumn]ad esempio .

Autorizzazioni

L'impostazione del tenant Dataset Execute Queries REST API (Set di dati Esegui query) disponibile in Impostazioni di integrazione deve essere abilitata.

L'utente deve disporre delle autorizzazioni di lettura e compilazione del set di dati. Per altre informazioni, vedere Gestire le autorizzazioni di accesso ai set di dati.

Ambito obbligatorio

Dataset.ReadWrite.All o Dataset.Read.All

Limitazioni

  • I set di dati ospitati in Azure Analysis Services o che hanno una connessione dinamica a un modello di Azure Analysis Services locale non sono supportati.
  • Una query per ogni chiamata API.
  • Una richiesta di tabella per query.
  • Massimo 100.000 righe o 1.000.000 valori per ogni query (a qualsiasi hit first). Ad esempio, se si esegue una query per 5 colonne, è possibile ottenere un massimo di 100.000 righe. Se si esegue una query per 20 colonne, è possibile ottenere un massimo di 50.000 righe (1 milione diviso per 20).
  • Massimo 15 MB di dati per query. Dopo il superamento di 15 MB, la riga corrente verrà completata, ma non verranno scritte righe aggiuntive.
  • Esiste un limite di 120 richieste di query al minuto per utente, indipendentemente dal set di dati su cui viene eseguita una query.
  • Per usare le entità servizio, assicurarsi che l'impostazione del tenant amministratore Consenti alle entità servizio di usare le API di Power BI in Impostazioni sviluppatore sia abilitata. Tuttavia, indipendentemente dall'impostazione del tenant amministratore, le entità servizio non sono supportate per i set di dati con la sicurezza a livello di riga per RLS limitazioni o set di dati con SSO abilitato.
  • Attualmente sono supportate solo le query DAX. Le query MDX e DMV non sono supportate.

POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries

Parametri dell'URI

Nome In Necessario Tipo Descrizione
datasetId
path True

string

ID del set di dati

Corpo della richiesta

Nome Necessario Tipo Descrizione
queries True

DatasetExecuteQueriesQuery[]

Elenco di query del set di dati da eseguire

impersonatedUserName

string

UPN di un utente da rappresentare. Se il modello non è abilitato per la sicurezza a livello di riga, verrà ignorato.

serializerSettings

DatasetExecuteQueriesSerializationSettings

Impostazioni di serializzazione per il set di risultati

Risposte

Nome Tipo Descrizione
200 OK

DatasetExecuteQueriesResponse

OK

Esempio

Execute queries example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229/executeQueries
{
  "queries": [
    {
      "query": "EVALUATE VALUES(MyTable)"
    }
  ],
  "serializerSettings": {
    "includeNulls": true
  },
  "impersonatedUserName": "someuser@mycompany.com"
}

Sample Response

{
  "results": [
    {
      "tables": [
        {
          "rows": [
            {
              "MyTable[Year]": 2010,
              "MyTable[Quarter]": "Q1"
            },
            {
              "MyTable[Year]": 2010,
              "MyTable[Quarter]": "Q2"
            },
            {
              "MyTable[Year]": 2011,
              "MyTable[Quarter]": "Q1"
            }
          ]
        }
      ]
    }
  ]
}

Definizioni

Nome Descrizione
DatasetExecuteQueriesError

Dettagli di un errore, se presente.

DatasetExecuteQueriesInformationProtectionLabel

Dettagli dell'etichetta di protezione delle informazioni, se presente, associata al set di dati.

DatasetExecuteQueriesQuery

Query del set di dati

DatasetExecuteQueriesQueryResult

Risultati di una singola query del set di dati

DatasetExecuteQueriesRequest

Richiesta di esecuzione di query su un set di dati

DatasetExecuteQueriesResponse

La risposta a un set di dati esegue una richiesta di query

DatasetExecuteQueriesSerializationSettings

Impostazioni di serializzazione per i risultati di una query del set di dati

DatasetExecuteQueriesTableResult

Tabella di dati

DatasetExecuteQueriesError

Dettagli di un errore, se presente.

Nome Tipo Descrizione
code

string

Codice associato all'errore

message

string

Messaggio dell'errore. Se non è presente qui, queste informazioni sono disponibili anche nell'oggetto dettagli annidato sotto l'oggetto error.

DatasetExecuteQueriesInformationProtectionLabel

Dettagli dell'etichetta di protezione delle informazioni, se presente, associata al set di dati.

Nome Tipo Descrizione
id

string

Identificatore (GUID) dell'etichetta di protezione delle informazioni

name

string

Nome visualizzato dell'etichetta di protezione delle informazioni

DatasetExecuteQueriesQuery

Query del set di dati

Nome Tipo Descrizione
query

string

Query DAX da eseguire

DatasetExecuteQueriesQueryResult

Risultati di una singola query del set di dati

Nome Tipo Descrizione
error

DatasetExecuteQueriesError

Dettagli di un errore, se presente.

tables

DatasetExecuteQueriesTableResult[]

Elenco di dati delle tabelle per una query

DatasetExecuteQueriesRequest

Richiesta di esecuzione di query su un set di dati

Nome Tipo Descrizione
impersonatedUserName

string

UPN di un utente da rappresentare. Se il modello non è abilitato per la sicurezza a livello di riga, verrà ignorato.

queries

DatasetExecuteQueriesQuery[]

Elenco di query del set di dati da eseguire

serializerSettings

DatasetExecuteQueriesSerializationSettings

Impostazioni di serializzazione per il set di risultati

DatasetExecuteQueriesResponse

La risposta a un set di dati esegue una richiesta di query

Nome Tipo Descrizione
error

DatasetExecuteQueriesError

Dettagli di un errore, se presente.

informationProtectionLabel

DatasetExecuteQueriesInformationProtectionLabel

Dettagli dell'etichetta di protezione delle informazioni, se presente, associata al set di dati.

results

DatasetExecuteQueriesQueryResult[]

Elenco di risultati, uno per ogni query di input.

DatasetExecuteQueriesSerializationSettings

Impostazioni di serializzazione per i risultati di una query del set di dati

Nome Tipo Descrizione
includeNulls

boolean

Indica se i valori Null (vuoti) devono essere inclusi nel set di risultati. Se non specificato, il valore predefinito è false.

DatasetExecuteQueriesTableResult

Tabella di dati

Nome Tipo Descrizione
error

DatasetExecuteQueriesError

Dettagli di un errore, se presente.

rows

object[]

Elenco di righe