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
oMore 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 |
---|---|---|---|---|
dataset
|
path | True |
string |
ID del 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
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 |
---|---|
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 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 |
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 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 è |
DatasetExecuteQueriesTableResult
Tabella di dati
Nome | Tipo | Descrizione |
---|---|---|
error |
Dettagli di un errore, se presente. |
|
rows |
object[] |
Elenco di righe |