Datasets - Execute Queries
Esegue query DAX (Data Analysis Expressions) sul set di dati fornito. Il set di dati deve risiedere in area di lavoro personale o in un'altra area di lavoro.
Gli errori di query DAX genereranno:
- Errore di risposta, ad esempio
DAX query failure
. - Codice di stato HTTP non riuscito (400).
Una query che richiede più tabelle 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
oMore than {allowed number} rows in a query result
. - Codice di stato HTTP corretto (200).
Le colonne completamente qualificate nella query verranno restituite con un nome completo, ad esempio MyTable[MyColumn]
. Le colonne rinominate o create nella query verranno restituite tra parentesi quadre, ad esempio [MyNewColumn]
.
Autorizzazioni
L'impostazione del tenant 'API REST Esegui query set di dati, 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 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. Una volta superati i 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. Indipendentemente dall'impostazione del tenant amministratore, tuttavia, le entità servizio non sono supportate per i set di dati con sicurezza a livello di riga per limitazioni della sicurezza a livello di riga o set di dati con SSO abilitato.
- Attualmente sono supportate solo le query DAX. Le funzioni MDX, INFO e le query DMV non sono supportate.
POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
dataset
|
path | True |
string |
ID set di dati |
Corpo della richiesta
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
queries | True |
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 |
Impostazioni di serializzazione per il set di risultati |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
OK |
Esempio
Execute queries example
Esempio di richiesta
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"
}
Risposta di esempio
{
"results": [
{
"tables": [
{
"rows": [
{
"MyTable[Year]": 2010,
"MyTable[Quarter]": "Q1"
},
{
"MyTable[Year]": 2010,
"MyTable[Quarter]": "Q2"
},
{
"MyTable[Year]": 2011,
"MyTable[Quarter]": "Q1"
}
]
}
]
}
]
}
Definizioni
Nome | Descrizione |
---|---|
Dataset |
Dettagli di un errore, se presente. |
Dataset |
Dettagli dell'etichetta di protezione delle informazioni, se presente, associata al set di dati. |
Dataset |
Query del set di dati |
Dataset |
Risultati di una singola query del set di dati |
Dataset |
Richiesta di esecuzione di query su un set di dati |
Dataset |
La risposta a un set di dati esegue una richiesta di query |
Dataset |
Impostazioni di serializzazione per i risultati di una query del set di dati |
Dataset |
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 nell'oggetto errore. |
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 |
Dettagli di un errore, se presente. |
|
tables |
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 |
Elenco di query del set di dati da eseguire |
|
serializerSettings |
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 |
Dettagli di un errore, se presente. |
|
informationProtectionLabel |
Dettagli dell'etichetta di protezione delle informazioni, se presente, associata al set di dati. |
|
results |
Elenco dei 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 è |
DatasetExecuteQueriesTableResult
Tabella di dati
Nome | Tipo | Descrizione |
---|---|---|
error |
Dettagli di un errore, se presente. |
|
rows |
object[] |
Elenco di righe |