Datasets - Execute Queries In Group

针对提供的数据集执行数据分析表达式 (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 行(100 万行除以 20)。
  • 每个查询最多 15MB 的数据。 超过 15MB 后,将完成当前行,但不会写入其他行。
  • 无论查询的数据集如何,每个用户的查询请求数限制为每分钟 120 个。
  • 若要使用服务主体,请确保管理员租户设置 允许服务主体在启用 开发人员设置 下使用 Power BI API。 但是,无论管理员租户设置如何,每个 RLS 限制为 RLS 的数据集不支持服务主体 或启用了 SSO 的数据集。
  • 目前仅支持 DAX 查询。 不支持 MDX、INFO 函数和 DMV 查询。

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

URI 参数

名称 必需 类型 说明
datasetId
path True

string

数据集 ID

groupId
path True

string

uuid

工作区 ID

请求正文

名称 必需 类型 说明
queries True

DatasetExecuteQueriesQuery[]

要执行的数据集查询列表

impersonatedUserName

string

要模拟的用户的 UPN。 如果模型未启用 RLS,将忽略此作。

serializerSettings

DatasetExecuteQueriesSerializationSettings

结果集的序列化设置

响应

名称 类型 说明
200 OK

DatasetExecuteQueriesResponse

还行

示例

Execute queries example

示例请求

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/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

单个数据集查询的结果

DatasetExecuteQueriesRequest

针对数据集执行查询的请求

DatasetExecuteQueriesResponse

对数据集的响应执行查询请求

DatasetExecuteQueriesSerializationSettings

数据集查询结果的序列化设置

DatasetExecuteQueriesTableResult

数据表

DatasetExecuteQueriesError

错误的详细信息(如果存在)。

名称 类型 说明
code

string

与错误关联的代码

message

string

错误的消息。 如果此处不存在,在错误对象下嵌套的详细信息对象中也会找到此信息。

DatasetExecuteQueriesInformationProtectionLabel

与数据集关联的信息保护标签的详细信息(如果有)。

名称 类型 说明
id

string

信息保护标签的标识符(guid)

name

string

信息保护标签的显示名称

DatasetExecuteQueriesQuery

数据集查询

名称 类型 说明
query

string

要执行的 DAX 查询

DatasetExecuteQueriesQueryResult

单个数据集查询的结果

名称 类型 说明
error

DatasetExecuteQueriesError

错误的详细信息(如果存在)。

tables

DatasetExecuteQueriesTableResult[]

查询的表数据列表

DatasetExecuteQueriesRequest

针对数据集执行查询的请求

名称 类型 说明
impersonatedUserName

string

要模拟的用户的 UPN。 如果模型未启用 RLS,将忽略此作。

queries

DatasetExecuteQueriesQuery[]

要执行的数据集查询列表

serializerSettings

DatasetExecuteQueriesSerializationSettings

结果集的序列化设置

DatasetExecuteQueriesResponse

对数据集的响应执行查询请求

名称 类型 说明
error

DatasetExecuteQueriesError

错误的详细信息(如果存在)。

informationProtectionLabel

DatasetExecuteQueriesInformationProtectionLabel

与数据集关联的信息保护标签的详细信息(如果有)。

results

DatasetExecuteQueriesQueryResult[]

结果列表,每个输入查询一个。

DatasetExecuteQueriesSerializationSettings

数据集查询结果的序列化设置

名称 类型 说明
includeNulls

boolean

结果集中是否应包含 null 值(空白)。 如果未指定,则默认值为 false

DatasetExecuteQueriesTableResult

数据表

名称 类型 说明
error

DatasetExecuteQueriesError

错误的详细信息(如果存在)。

rows

object[]

行列表