次の方法で共有


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 パラメーター

名前 / 必須 説明
datasetId
path True

string

データセット ID

要求本文

名前 必須 説明
queries True

DatasetExecuteQueriesQuery[]

実行するデータセット クエリの一覧

impersonatedUserName

string

偽装するユーザーの UPN。 モデルが RLS が有効になっていない場合、これは無視されます。

serializerSettings

DatasetExecuteQueriesSerializationSettings

結果セットのシリアル化設定

応答

名前 説明
200 OK

DatasetExecuteQueriesResponse

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"
            }
          ]
        }
      ]
    }
  ]
}

定義

名前 説明
DatasetExecuteQueriesError

エラーの詳細 (存在する場合)。

DatasetExecuteQueriesInformationProtectionLabel

データセットに関連付けられている情報保護ラベルの詳細 (存在する場合)。

DatasetExecuteQueriesQuery

データセット クエリ

DatasetExecuteQueriesQueryResult

1 つのデータセット クエリの結果

DatasetExecuteQueriesRequest

データセットに対してクエリを実行する要求

DatasetExecuteQueriesResponse

データセットのクエリ実行要求に対する応答

DatasetExecuteQueriesSerializationSettings

データセット クエリの結果のシリアル化設定

DatasetExecuteQueriesTableResult

データのテーブル

DatasetExecuteQueriesError

エラーの詳細 (存在する場合)。

名前 説明
code

string

エラーに関連付けられたコード。

message

string

エラーのメッセージ。 ここに存在しない場合、この情報は、エラーオブジェクトの下に入れ子になった details オブジェクトにも見つかります。

DatasetExecuteQueriesInformationProtectionLabel

データセットに関連付けられている情報保護ラベルの詳細 (存在する場合)。

名前 説明
id

string

情報保護ラベルの識別子 (guid)

name

string

情報保護ラベルの表示名

DatasetExecuteQueriesQuery

データセット クエリ

名前 説明
query

string

実行する DAX クエリ

DatasetExecuteQueriesQueryResult

1 つのデータセット クエリの結果

名前 説明
error

DatasetExecuteQueriesError

エラーの詳細 (存在する場合)。

tables

DatasetExecuteQueriesTableResult[]

クエリのテーブル データの一覧

DatasetExecuteQueriesRequest

データセットに対してクエリを実行する要求

名前 説明
impersonatedUserName

string

偽装するユーザーの UPN。 モデルが RLS が有効になっていない場合、これは無視されます。

queries

DatasetExecuteQueriesQuery[]

実行するデータセット クエリの一覧

serializerSettings

DatasetExecuteQueriesSerializationSettings

結果セットのシリアル化設定

DatasetExecuteQueriesResponse

データセットのクエリ実行要求に対する応答

名前 説明
error

DatasetExecuteQueriesError

エラーの詳細 (存在する場合)。

informationProtectionLabel

DatasetExecuteQueriesInformationProtectionLabel

データセットに関連付けられている情報保護ラベルの詳細 (存在する場合)。

results

DatasetExecuteQueriesQueryResult[]

入力クエリごとに 1 つずつ、結果の一覧。

DatasetExecuteQueriesSerializationSettings

データセット クエリの結果のシリアル化設定

名前 説明
includeNulls

boolean

結果セットに null (空白) 値を含めるかどうか。 指定しない場合、既定値は false です。

DatasetExecuteQueriesTableResult

データのテーブル

名前 説明
error

DatasetExecuteQueriesError

エラーの詳細 (存在する場合)。

rows

object[]

行の一覧