Datasets - Execute Queries
指定されたデータセットに対してデータ分析式 (DAX) クエリを実行します。 データセットは 、マイ ワークスペース または別のワークスペースに存在する必要があります。
DAX クエリ エラーの結果は次のようになります。
- などの
DAX query failure
応答エラー。 - エラー HTTP 状態コード (400)。
複数のテーブルを要求するクエリ、または許容されるテーブル行数を超えるクエリは、次の結果になります。
- 返されるデータが制限されています。
- や
More than {allowed number} rows in a query result
などのMore than one result table in a query
応答エラー。 - 成功した HTTP 状態コード (200)。
クエリで完全修飾された列は、完全修飾名 (例: MyTable[MyColumn]
) で返されます。 クエリで名前を変更または作成した列は、角かっこ (例: [MyNewColumn]
) 内で返されます。
アクセス許可
[統合設定] の下にあるテナント設定データセット実行 REST API を有効にする必要があります。
ユーザーには、データセットの読み取りとビルドのアクセス許可が必要です。 詳しくは、「データセットのアクセス許可の管理」をご覧ください。
必要なスコープ
Dataset.ReadWrite.All または Dataset.Read.All
制限事項
- Azure Analysis Servicesでホストされているデータセット、またはオンプレミスのAzure Analysis Services モデルへのライブ接続を持つデータセットはサポートされていません。
- API 呼び出しごとに 1 つのクエリ。
- クエリごとに 1 つのテーブル要求。
- クエリあたり最大 100,000 行または 1,000,000 個の値 (どちらか先にヒット)。 たとえば、5 列のクエリを実行すると、最大 100,000 行を返すことができます。 20 列のクエリを実行すると、最大 50,000 行 (100 万行を 20 で除算) を返すことができます。
- クエリあたり最大 15 MB のデータ。 15 MB を超えると、現在の行は完了しますが、追加の行は書き込まれなくなります。
- クエリを実行するデータセットに関係なく、1 ユーザーあたり 1 分あたり 120 個のクエリ要求に制限があります。
- サービス プリンシパルを使用するには、[開発者設定] の [ サービス プリンシパルに Power BI API の使用を許可する ] の [管理者テナント ] 設定 が有効になっていることを確認します。 ただし、管理者テナントの設定に関係なく、 RLS ごとの RLS 制限 があるデータセットや SSO が有効になっているデータセットでは、サービス プリンシパルはサポートされていません。
- 現時点では、DAX クエリのみがサポートされています。 MDX クエリと DMV クエリはサポートされていません。
POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
dataset
|
path | True |
string |
データセット ID |
要求本文
名前 | 必須 | 型 | 説明 |
---|---|---|---|
queries | True |
実行するデータセット クエリの一覧 |
|
impersonatedUserName |
string |
偽装するユーザーの UPN。 モデルが RLS が有効になっていない場合、これは無視されます。 |
|
serializerSettings |
結果セットのシリアル化設定 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
OK |
例
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"
}
]
}
]
}
]
}
定義
名前 | 説明 |
---|---|
Dataset |
エラーの詳細 (存在する場合)。 |
Dataset |
データセットに関連付けられている情報保護ラベルの詳細 (存在する場合)。 |
Dataset |
データセット クエリ |
Dataset |
1 つのデータセット クエリの結果 |
Dataset |
データセットに対してクエリを実行する要求 |
Dataset |
データセットのクエリ実行要求に対する応答 |
Dataset |
データセット クエリの結果のシリアル化設定 |
Dataset |
データのテーブル |
DatasetExecuteQueriesError
エラーの詳細 (存在する場合)。
名前 | 型 | 説明 |
---|---|---|
code |
string |
エラーに関連付けられたコード。 |
message |
string |
エラーのメッセージ。 ここに存在しない場合、この情報は、エラーオブジェクトの下に入れ子になった details オブジェクトにも見つかります。 |
DatasetExecuteQueriesInformationProtectionLabel
データセットに関連付けられている情報保護ラベルの詳細 (存在する場合)。
名前 | 型 | 説明 |
---|---|---|
id |
string |
情報保護ラベルの識別子 (guid) |
name |
string |
情報保護ラベルの表示名 |
DatasetExecuteQueriesQuery
データセット クエリ
名前 | 型 | 説明 |
---|---|---|
query |
string |
実行する DAX クエリ |
DatasetExecuteQueriesQueryResult
1 つのデータセット クエリの結果
名前 | 型 | 説明 |
---|---|---|
error |
エラーの詳細 (存在する場合)。 |
|
tables |
クエリのテーブル データの一覧 |
DatasetExecuteQueriesRequest
データセットに対してクエリを実行する要求
名前 | 型 | 説明 |
---|---|---|
impersonatedUserName |
string |
偽装するユーザーの UPN。 モデルが RLS が有効になっていない場合、これは無視されます。 |
queries |
実行するデータセット クエリの一覧 |
|
serializerSettings |
結果セットのシリアル化設定 |
DatasetExecuteQueriesResponse
データセットのクエリ実行要求に対する応答
名前 | 型 | 説明 |
---|---|---|
error |
エラーの詳細 (存在する場合)。 |
|
informationProtectionLabel |
データセットに関連付けられている情報保護ラベルの詳細 (存在する場合)。 |
|
results |
入力クエリごとに 1 つずつ、結果の一覧。 |
DatasetExecuteQueriesSerializationSettings
データセット クエリの結果のシリアル化設定
名前 | 型 | 説明 |
---|---|---|
includeNulls |
boolean |
結果セットに null (空白) 値を含めるかどうか。 指定しない場合、既定値は |
DatasetExecuteQueriesTableResult
データのテーブル
名前 | 型 | 説明 |
---|---|---|
error |
エラーの詳細 (存在する場合)。 |
|
rows |
object[] |
行の一覧 |