Datasets - Execute Queries
Wykonuje zapytania języka DAX (Data Analysis Expressions) względem podanego zestawu danych. Zestaw danych musi znajdować się w obszarze Mój obszar roboczy lub inny obszar roboczy.
Błędy zapytań języka DAX spowodują:
- Błąd odpowiedzi, taki jak
DAX query failure
. - Kod stanu HTTP błędu (400).
Zapytanie, które żąda więcej niż jednej tabeli lub więcej niż dozwolona liczba wierszy tabeli, spowoduje:
- Zwracane są ograniczone dane.
- Błąd odpowiedzi, taki jak
More than one result table in a query
lubMore than {allowed number} rows in a query result
. - Pomyślny kod stanu HTTP (200).
Kolumny, które są w pełni kwalifikowane w zapytaniu, zostaną zwrócone z w pełni kwalifikowaną nazwą, na przykład MyTable[MyColumn]
. Kolumny o zmienionej nazwie lub utworzone w zapytaniu zostaną zwrócone w nawiasie kwadratowym, na przykład [MyNewColumn]
.
Uprawnienia
Ustawienie dzierżawy Zestaw danych Wykonywanie zapytań interfejsu API REST, które można znaleźć w obszarze Ustawienia integracji, musi być włączone.
Użytkownik musi mieć uprawnienia do odczytu i kompilacji zestawu danych. Aby uzyskać więcej informacji, zobacz Zarządzanie uprawnieniami dostępu do zestawu danych.
Zakres wymagany
Dataset.ReadWrite.All lub Dataset.Read.All
Ograniczenia
- Zestawy danych hostowane w Azure Analysis Services lub z połączeniem na żywo z lokalnym modelem Azure Analysis Services nie są obsługiwane.
- Jedno zapytanie na wywołanie interfejsu API.
- Jedno żądanie tabeli na zapytanie.
- Maksymalnie 100 000 wierszy lub 1000 000 wartości na zapytanie (w zależności od tego, która wartość zostanie osiągnięna jako pierwsza). Jeśli na przykład wykonasz zapytanie o 5 kolumn, możesz wrócić do maksymalnie 100 000 wierszy. Jeśli wykonasz zapytanie dotyczące 20 kolumn, możesz wrócić do maksymalnie 50 000 wierszy (1 milion podzielonych przez 20).
- Maksymalnie 15 MB danych na zapytanie. Po przekroczeniu 15 MB bieżący wiersz zostanie ukończony, ale nie zostaną zapisane żadne dodatkowe wiersze.
- Istnieje limit 120 żądań zapytań na minutę na użytkownika, niezależnie od zestawu danych, którego dotyczy zapytanie.
- Aby używać jednostek usługi, upewnij się, że ustawienie dzierżawy administratora Zezwalaj jednostkom usługi na używanie interfejsów API usługi Power BI w obszarze Ustawienia dewelopera jest włączone. Jednak niezależnie od ustawienia dzierżawy administratora jednostki usługi nie są obsługiwane w przypadku zestawów danych z ograniczeniami zabezpieczeń na poziomie wiersza lub zestawami danych z włączonym logowaniem jednokrotnym.
- Obecnie obsługiwane są tylko zapytania języka DAX. Zapytania MDX i DMV nie są obsługiwane.
POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries
Parametry identyfikatora URI
Nazwa | W | Wymagane | Typ | Opis |
---|---|---|---|---|
dataset
|
path | True |
string |
Identyfikator zestawu danych |
Treść żądania
Nazwa | Wymagane | Typ | Opis |
---|---|---|---|
queries | True |
Lista zapytań dotyczących zestawu danych do wykonania |
|
impersonatedUserName |
string |
Nazwa UPN użytkownika do personifikacji. Jeśli model nie jest włączony zabezpieczeń na poziomie wiersza, zostanie on zignorowany. |
|
serializerSettings |
Ustawienia serializacji zestawu wyników |
Odpowiedzi
Nazwa | Typ | Opis |
---|---|---|
200 OK |
OK |
Przykłady
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"
}
]
}
]
}
]
}
Definicje
Nazwa | Opis |
---|---|
Dataset |
Szczegóły błędu, jeśli istnieją. |
Dataset |
Szczegóły etykiety ochrony informacji, jeśli istnieją, skojarzone z zestawem danych. |
Dataset |
Zapytanie dotyczące zestawu danych |
Dataset |
Wyniki zapytania pojedynczego zestawu danych |
Dataset |
Żądanie wykonania zapytań względem zestawu danych |
Dataset |
Odpowiedź na zestaw danych wykonuje żądanie zapytań |
Dataset |
Ustawienia serializacji wyników zapytania zestawu danych |
Dataset |
Tabela danych |
DatasetExecuteQueriesError
Szczegóły błędu, jeśli istnieją.
Nazwa | Typ | Opis |
---|---|---|
code |
string |
Kod skojarzony z błędem |
message |
string |
Komunikat o błędzie. Jeśli nie ma tutaj, te informacje można również znaleźć w obiekcie szczegółów zagnieżdżonym w obiekcie błędu. |
DatasetExecuteQueriesInformationProtectionLabel
Szczegóły etykiety ochrony informacji, jeśli istnieją, skojarzone z zestawem danych.
Nazwa | Typ | Opis |
---|---|---|
id |
string |
Identyfikator (guid) etykiety ochrony informacji |
name |
string |
Nazwa wyświetlana etykiety ochrony informacji |
DatasetExecuteQueriesQuery
Zapytanie dotyczące zestawu danych
Nazwa | Typ | Opis |
---|---|---|
query |
string |
Zapytanie języka DAX do wykonania |
DatasetExecuteQueriesQueryResult
Wyniki zapytania pojedynczego zestawu danych
Nazwa | Typ | Opis |
---|---|---|
error |
Szczegóły błędu, jeśli istnieją. |
|
tables |
Lista danych tabel dla zapytania |
DatasetExecuteQueriesRequest
Żądanie wykonania zapytań względem zestawu danych
Nazwa | Typ | Opis |
---|---|---|
impersonatedUserName |
string |
Nazwa UPN użytkownika do personifikacji. Jeśli model nie jest włączony zabezpieczeń na poziomie wiersza, zostanie on zignorowany. |
queries |
Lista zapytań dotyczących zestawu danych do wykonania |
|
serializerSettings |
Ustawienia serializacji zestawu wyników |
DatasetExecuteQueriesResponse
Odpowiedź na zestaw danych wykonuje żądanie zapytań
Nazwa | Typ | Opis |
---|---|---|
error |
Szczegóły błędu, jeśli istnieją. |
|
informationProtectionLabel |
Szczegóły etykiety ochrony informacji, jeśli istnieją, skojarzone z zestawem danych. |
|
results |
Lista wyników, po jednym na zapytanie wejściowe. |
DatasetExecuteQueriesSerializationSettings
Ustawienia serializacji wyników zapytania zestawu danych
Nazwa | Typ | Opis |
---|---|---|
includeNulls |
boolean |
Określa, czy wartości null (puste) powinny być uwzględniane w zestawie wyników. Jeśli nie zostanie określona, wartość domyślna to |
DatasetExecuteQueriesTableResult
Tabela danych
Nazwa | Typ | Opis |
---|---|---|
error |
Szczegóły błędu, jeśli istnieją. |
|
rows |
object[] |
Lista wierszy |