Datasets - Execute Queries In Group
针对提供的数据集执行数据分析表达式 (DAX) 查询。
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]
。
权限
必须在 集成设置下找到 数据集执行查询 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 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
dataset
|
path | True |
string |
数据集 ID |
group
|
path | True |
string uuid |
工作区 ID |
请求正文
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
queries | True |
要执行的数据集查询列表 |
|
impersonatedUserName |
string |
要模拟的用户的 UPN。 如果模型未启用 RLS,将忽略此作。 |
|
serializerSettings |
结果集的序列化设置 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
还行 |
示例
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"
}
]
}
]
}
]
}
定义
名称 | 说明 |
---|---|
Dataset |
错误的详细信息(如果存在)。 |
Dataset |
与数据集关联的信息保护标签的详细信息(如果有)。 |
Dataset |
数据集查询 |
Dataset |
单个数据集查询的结果 |
Dataset |
针对数据集执行查询的请求 |
Dataset |
对数据集的响应执行查询请求 |
Dataset |
数据集查询结果的序列化设置 |
Dataset |
数据表 |
DatasetExecuteQueriesError
错误的详细信息(如果存在)。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
与错误关联的代码 |
message |
string |
错误的消息。 如果此处不存在,在错误对象下嵌套的详细信息对象中也会找到此信息。 |
DatasetExecuteQueriesInformationProtectionLabel
与数据集关联的信息保护标签的详细信息(如果有)。
名称 | 类型 | 说明 |
---|---|---|
id |
string |
信息保护标签的标识符(guid) |
name |
string |
信息保护标签的显示名称 |
DatasetExecuteQueriesQuery
数据集查询
名称 | 类型 | 说明 |
---|---|---|
query |
string |
要执行的 DAX 查询 |
DatasetExecuteQueriesQueryResult
单个数据集查询的结果
名称 | 类型 | 说明 |
---|---|---|
error |
错误的详细信息(如果存在)。 |
|
tables |
查询的表数据列表 |
DatasetExecuteQueriesRequest
针对数据集执行查询的请求
名称 | 类型 | 说明 |
---|---|---|
impersonatedUserName |
string |
要模拟的用户的 UPN。 如果模型未启用 RLS,将忽略此作。 |
queries |
要执行的数据集查询列表 |
|
serializerSettings |
结果集的序列化设置 |
DatasetExecuteQueriesResponse
对数据集的响应执行查询请求
名称 | 类型 | 说明 |
---|---|---|
error |
错误的详细信息(如果存在)。 |
|
informationProtectionLabel |
与数据集关联的信息保护标签的详细信息(如果有)。 |
|
results |
结果列表,每个输入查询一个。 |
DatasetExecuteQueriesSerializationSettings
数据集查询结果的序列化设置
名称 | 类型 | 说明 |
---|---|---|
includeNulls |
boolean |
结果集中是否应包含 null 值(空白)。 如果未指定,则默认值为 |
DatasetExecuteQueriesTableResult
数据表
名称 | 类型 | 说明 |
---|---|---|
error |
错误的详细信息(如果存在)。 |
|
rows |
object[] |
行列表 |