共用方式為


Datasets - Execute Queries

針對提供的數據集執行數據分析表示式 (DAX) 查詢。 數據集必須位於 [我的工作區] 或其他工作區。

DAX 查詢錯誤會導致:

  • 回應錯誤,例如 DAX query failure
  • 失敗的 HTTP 狀態代碼 (400)。

要求多個數據表或超過允許的數據表數據列數目的查詢,將會導致:

  • 傳回的數據有限。
  • 回應錯誤,例如 More than one result table in a queryMore than {allowed number} rows in a query result
  • 成功的 HTTP 狀態代碼 (200)。

查詢中完整資料列會以完整名稱傳回,例如,MyTable[MyColumn]。 在查詢中重新命名或建立的數據行將會在方括弧內傳回,例如,[MyNewColumn]

權限

必須在 整合設定底下找到 數據集執行查詢 REST API的租用戶設定。

用戶必須具有數據集讀取和建置許可權。 如需詳細資訊,請參閱 管理數據集訪問許可權

必要範圍

Dataset.ReadWrite.All 或 Dataset.Read.All

局限性

  • 不支援裝載於 Azure Analysis Services 或與內部部署 Azure Analysis Services 模型有即時連線的數據集。
  • 每個 API 呼叫一個查詢。
  • 每個查詢一個數據表要求。
  • 每個查詢最多 100,000 個數據列或 1,000,000 個值(依第一個叫用者為準)。 例如,如果您查詢 5 個數據行,可以取得最多 100,000 個數據列。 如果您查詢 20 個數據行,可以取得最多 50,000 個數據列(1 百萬個除以 20 個數據列)。
  • 每個查詢最多 15 MB 的數據。 超過 15MB 之後,目前的數據列將會完成,但不會寫入其他數據列。
  • 不論查詢的數據集為何,每位使用者每分鐘有120個查詢要求的限制。
  • 若要使用服務主體,請確定系統管理員租用戶設定 [允許服務主體在 開發人員設定 下使用Power BI API。 不過,無論系統管理員租用戶設定為何,每個 RLS 限制的數據集都不支援服務主體 或已啟用 SSO 的數據集。
  • 目前僅支援DAX查詢。 不支援 MDX、INFO 函式和 DMV 查詢。

POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/executeQueries

URI 參數

名稱 位於 必要 類型 Description
datasetId
path True

string

數據集標識碼

要求本文

名稱 必要 類型 Description
queries True

DatasetExecuteQueriesQuery[]

要執行的數據集查詢清單

impersonatedUserName

string

要模擬之使用者的UPN。 如果模型未啟用 RLS,則會忽略此專案。

serializerSettings

DatasetExecuteQueriesSerializationSettings

結果集的串行化設定

回應

名稱 類型 Description
200 OK

DatasetExecuteQueriesResponse

還行

範例

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

定義

名稱 Description
DatasetExecuteQueriesError

如果存在,則為錯誤的詳細數據。

DatasetExecuteQueriesInformationProtectionLabel

信息保護標籤的詳細數據,如果有的話,與數據集相關聯。

DatasetExecuteQueriesQuery

數據集查詢

DatasetExecuteQueriesQueryResult

單一數據集查詢的結果

DatasetExecuteQueriesRequest

對數據集執行查詢的要求

DatasetExecuteQueriesResponse

數據集的回應會執行查詢要求

DatasetExecuteQueriesSerializationSettings

數據集查詢結果的串行化設定

DatasetExecuteQueriesTableResult

數據表

DatasetExecuteQueriesError

如果存在,則為錯誤的詳細數據。

名稱 類型 Description
code

string

與錯誤相關聯的程序代碼

message

string

錯誤的訊息。 如果不存在這裡,在錯誤物件下巢狀的詳細數據物件中也會找到此資訊。

DatasetExecuteQueriesInformationProtectionLabel

信息保護標籤的詳細數據,如果有的話,與數據集相關聯。

名稱 類型 Description
id

string

資訊保護標籤的識別碼 (guid)

name

string

資訊保護標籤的顯示名稱

DatasetExecuteQueriesQuery

數據集查詢

名稱 類型 Description
query

string

要執行的DAX查詢

DatasetExecuteQueriesQueryResult

單一數據集查詢的結果

名稱 類型 Description
error

DatasetExecuteQueriesError

如果存在,則為錯誤的詳細數據。

tables

DatasetExecuteQueriesTableResult[]

查詢的數據表數據清單

DatasetExecuteQueriesRequest

對數據集執行查詢的要求

名稱 類型 Description
impersonatedUserName

string

要模擬之使用者的UPN。 如果模型未啟用 RLS,則會忽略此專案。

queries

DatasetExecuteQueriesQuery[]

要執行的數據集查詢清單

serializerSettings

DatasetExecuteQueriesSerializationSettings

結果集的串行化設定

DatasetExecuteQueriesResponse

數據集的回應會執行查詢要求

名稱 類型 Description
error

DatasetExecuteQueriesError

如果存在,則為錯誤的詳細數據。

informationProtectionLabel

DatasetExecuteQueriesInformationProtectionLabel

信息保護標籤的詳細數據,如果有的話,與數據集相關聯。

results

DatasetExecuteQueriesQueryResult[]

結果清單,每個輸入查詢一個。

DatasetExecuteQueriesSerializationSettings

數據集查詢結果的串行化設定

名稱 類型 Description
includeNulls

boolean

是否應該在結果集中包含 Null (空白) 值。 如果未指定,則預設值為 false

DatasetExecuteQueriesTableResult

數據表

名稱 類型 Description
error

DatasetExecuteQueriesError

如果存在,則為錯誤的詳細數據。

rows

object[]

數據列清單