Datasets - Execute Queries

指定されたセマンティック モデルに対してデータ分析式 (DAX) クエリを実行します。 呼び出し元に必要なアクセス許可がある場合、セマンティック モデルは My ワークスペース または別のワークスペースに存在できます。

DAX クエリ エラーの結果は次のようになります。

  • DAX query failureなどの応答エラー。
  • エラー HTTP 状態コード (400)。

複数のテーブルを要求するクエリ、または許容されるテーブル行数を超えるクエリでは、次の結果が得られます。

  • 返されるデータが制限されています。
  • More than one result table in a queryやMore than {allowed number} rows in a query resultなどの応答エラー。
  • 成功した HTTP 状態コード (200)。

クエリで完全修飾された列は、完全修飾名 (たとえば、 MyTable[MyColumn]) で返されます。 クエリで名前が変更または作成された列は、角かっこ内に返されます (例: [MyNewColumn])。

Permissions

統合設定の下にあるテナント設定データセット実行クエリ REST API を有効にする必要があります。

ユーザーには、データセットの読み取りとビルドのアクセス許可が必要です。 詳細については、「 データセットアクセス許可の管理」を参照してください。

必要なスコープ

Dataset.ReadWrite.All または Dataset.Read.All

Limitations

  • Azure Analysis Services でホストされているデータセット、またはオンプレミスの Azure Analysis Services モデルへのライブ接続を持つデータセットはサポートされていません。
  • API 呼び出しごとに 1 つのクエリ。
  • クエリごとに 1 つのテーブル要求。
  • クエリあたり最大 100,000 行または 1,000,000 個の値 (いずれか先にヒット)。 たとえば、5 列のクエリを実行すると、最大 100,000 行を返すことができます。 20 列のクエリを実行すると、最大で 50,000 行 (1,000,000 を 20 で割った数) を取得することができます。
  • クエリあたりの最大データ サイズは 15 MB。 15 MB を超えると、現在の行は完了しますが、追加の行は書き込まれなくなります。
  • クエリを実行するデータセットに関係なく、ユーザーごとに 1 分あたり 120 クエリ要求の制限があります。
  • サービス プリンシパルを使用するには、[開発者設定] の [サービス プリンシパルによる Power BI API の使用をサービス プリンシパルに許可する] 設定が有効になっていることを確認します。 ただし、管理者テナントの設定に関係なく、 RLS ごとの RLS 制限があるデータセットや SSO が有効なデータセットでは、サービス プリンシパルはサポートされません。
  • 現時点では、DAX クエリのみがサポートされています。 MDX、INFO 関数、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

要求のサンプル

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

応答のサンプル

{
  "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[]

行の一覧