Datasets - Execute Queries
Führt DAX-Abfragen (Data Analysis Expressions) für das bereitgestellte Dataset aus. Das Dataset muss sich in "Mein Arbeitsbereich" oder in einem anderen Arbeitsbereich befinden.
DAX-Abfragefehler führen zu:
- Ein Antwortfehler, z
DAX query failure
. B. . - Ein HTTP-Fehler status Code (400).
Eine Abfrage, die mehr als eine Tabelle oder mehr als die zulässige Anzahl von Tabellenzeilen anfordert, führt zu Folgendem:
- Eingeschränkte Daten, die zurückgegeben werden.
- Ein Antwortfehler, z
More than one result table in a query
. B. oderMore than {allowed number} rows in a query result
. - Ein erfolgreicher HTTP-status Code (200).
Spalten, die in der Abfrage voll qualifiziert sind, werden mit einem vollqualifizierten Namen zurückgegeben, z. B MyTable[MyColumn]
. . Spalten, die in der Abfrage umbenannt oder erstellt werden, werden in eckigen Klammern zurückgegeben, [MyNewColumn]
z. B. .
Die REST-API für die Mandanteneinstellung Datasetausführungsabfragen, die sich unter Integrationseinstellungen befindet, muss aktiviert sein.
Der Benutzer muss über Lese- und Buildberechtigungen für Datasets verfügen. Weitere Informationen finden Sie unter Verwalten von Zugriffsberechtigungen auf Datasets.
Dataset.ReadWrite.All oder Dataset.Read.All
- Datasets, die in Azure Analysis Services gehostet werden oder über eine Liveverbindung mit einem lokalen Azure Analysis Services-Modell verfügen, werden nicht unterstützt.
- Eine Abfrage pro API-Aufruf.
- Eine Tabellenanforderung pro Abfrage.
- Maximal 100.000 Zeilen oder 1.000.000 Werte pro Abfrage (je nachdem, was zuerst erreicht wird). Wenn Sie beispielsweise fünf Spalten abfragen, können Sie maximal 100.000 Zeilen abrufen. Wenn Sie 20 Spalten abfragen, können Sie maximal 50.000 Zeilen (1 Million geteilt durch 20) erhalten.
- Maximal 15 MB Daten pro Abfrage. Sobald 15 MB überschritten sind, wird die aktuelle Zeile abgeschlossen, aber es werden keine weiteren Zeilen geschrieben.
- Es gibt einen Grenzwert von 120 Abfrageanforderungen pro Minute und Benutzer, unabhängig vom dataset, das abgefragt wird.
- Um Dienstprinzipale zu verwenden, stellen Sie sicher, dass die Administratormandanteneinstellung Dienstprinzipale die Verwendung von Power BI-APIs zulassen unter Entwicklereinstellungen aktiviert ist. Unabhängig von der Administratormandanteneinstellung werden Dienstprinzipale jedoch nicht für Datasets mit RLS-Einschränkungen pro RLS oder Datasets mit aktiviertem einmaligem Anmelden unterstützt.
- Derzeit werden nur DAX-Abfragen unterstützt. MDX- und DMV-Abfragen werden nicht unterstützt.
POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries
Name | In | Erforderlich | Typ | Beschreibung |
---|---|---|---|---|
dataset
|
path | True |
string |
Die Dataset-ID |
Name | Erforderlich | Typ | Beschreibung |
---|---|---|---|
queries | True |
Die Liste der auszuführenden Datasetabfragen |
|
impersonatedUserName |
string |
Der UPN eines Benutzers, der identitätswechselt werden soll. Wenn das Modell nicht RLS aktiviert ist, wird dies ignoriert. |
|
serializerSettings |
Die Serialisierungseinstellungen für das Resultset |
Name | Typ | Beschreibung |
---|---|---|
200 OK |
OK |
Beispielanforderung
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"
}
Beispiel für eine Antwort
{
"results": [
{
"tables": [
{
"rows": [
{
"MyTable[Year]": 2010,
"MyTable[Quarter]": "Q1"
},
{
"MyTable[Year]": 2010,
"MyTable[Quarter]": "Q2"
},
{
"MyTable[Year]": 2011,
"MyTable[Quarter]": "Q1"
}
]
}
]
}
]
}
Name | Beschreibung |
---|---|
Dataset |
Die Details eines Fehlers, falls vorhanden. |
Dataset |
Die Details der Information Protection-Bezeichnung, sofern vorhanden, die dem Dataset zugeordnet ist. |
Dataset |
Eine Datasetabfrage |
Dataset |
Die Ergebnisse einer einzelnen Datasetabfrage |
Dataset |
Eine Anforderung zum Ausführen von Abfragen für ein Dataset |
Dataset |
Die Antwort auf eine Abfrageanforderung zum Ausführen eines Datasets |
Dataset |
Die Serialisierungseinstellungen für die Ergebnisse einer Datasetabfrage |
Dataset |
Eine Tabelle mit Daten |
Die Details eines Fehlers, falls vorhanden.
Name | Typ | Beschreibung |
---|---|---|
code |
string |
Der dem Fehler zugeordnete Code. |
message |
string |
Die Meldung des Fehlers. Falls hier nicht vorhanden, finden Sie diese Informationen auch im Detailobjekt, das unter dem Fehlerobjekt geschachtelt ist. |
Die Details der Information Protection-Bezeichnung, sofern vorhanden, die dem Dataset zugeordnet ist.
Name | Typ | Beschreibung |
---|---|---|
id |
string |
Der Bezeichner (GUID) der Informationsschutzbezeichnung |
name |
string |
Der Anzeigename der Informationsschutzbezeichnung |
Eine Datasetabfrage
Name | Typ | Beschreibung |
---|---|---|
query |
string |
Die auszuführende DAX-Abfrage |
Die Ergebnisse einer einzelnen Datasetabfrage
Name | Typ | Beschreibung |
---|---|---|
error |
Die Details eines Fehlers, falls vorhanden. |
|
tables |
Eine Liste der Tabellendaten für eine Abfrage |
Eine Anforderung zum Ausführen von Abfragen für ein Dataset
Name | Typ | Beschreibung |
---|---|---|
impersonatedUserName |
string |
Der UPN eines Benutzers, der identitätswechselt werden soll. Wenn das Modell nicht RLS aktiviert ist, wird dies ignoriert. |
queries |
Die Liste der auszuführenden Datasetabfragen |
|
serializerSettings |
Die Serialisierungseinstellungen für das Resultset |
Die Antwort auf eine Abfrageanforderung zum Ausführen eines Datasets
Name | Typ | Beschreibung |
---|---|---|
error |
Die Details eines Fehlers, falls vorhanden. |
|
informationProtectionLabel |
Die Details der Information Protection-Bezeichnung, sofern vorhanden, die dem Dataset zugeordnet ist. |
|
results |
Die Liste der Ergebnisse, eins pro Eingabeabfrage. |
Die Serialisierungseinstellungen für die Ergebnisse einer Datasetabfrage
Name | Typ | Beschreibung |
---|---|---|
includeNulls |
boolean |
Gibt an, ob null (leere) Werte in das Resultset eingeschlossen werden sollen. Wenn nichts angegeben wird, beträgt der Standardwert |
Eine Tabelle mit Daten
Name | Typ | Beschreibung |
---|---|---|
error |
Die Details eines Fehlers, falls vorhanden. |
|
rows |
object[] |
Eine Liste von Zeilen |