You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XMLA Endpoint和C#创建或重新绑定Power BI空白报表?

解决方案:通过C#创建关联Power BI数据集的空白报表

要创建关联已有数据集的空白Power BI报表(用于嵌入后让终端用户自定义),Power BI REST API是合适的工具(TOM主要聚焦数据集模型操作,报表创建需依赖REST API),以下是具体实现步骤:

1. 必要前提

  • 拥有目标工作区的Workspace Contributor及以上权限
  • 已获取目标数据集的Dataset ID和所在工作区的Workspace ID
  • 已配置好Power BI API的认证(推荐使用服务主体或用户OAuth令牌)

2. C#实现代码示例

使用HttpClient调用Power BI REST API的Create InGroup Report接口,创建空白报表并关联指定数据集:

using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    static async Task Main(string[] args)
    {
        // 替换为你的实际值
        string workspaceId = "你的工作区ID";
        string datasetId = "你的数据集ID";
        string reportName = "关联指定数据集的空白报表";
        string accessToken = "你的Power BI API访问令牌";

        var apiUrl = $"https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/reports";

        // 请求体:指定报表名称和关联的数据集
        var requestBody = new
        {
            name = reportName,
            datasetId = datasetId
        };

        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
            var content = new StringContent(JsonConvert.SerializeObject(requestBody), Encoding.UTF8, "application/json");
            
            var response = await client.PostAsync(apiUrl, content);
            response.EnsureSuccessStatusCode();

            var responseContent = await response.Content.ReadAsStringAsync();
            Console.WriteLine("空白报表创建成功,返回信息:");
            Console.WriteLine(responseContent);
        }
    }
}

3. 后续嵌入说明

报表创建完成后,即可通过Power BI嵌入流程(比如使用Power BI JavaScript SDK)将该空白报表嵌入到你的应用中。终端用户在嵌入环境内可直接基于关联的数据集添加可视化、编辑报表布局等操作。

关键注意点

  • 确保访问令牌包含Report.ReadWrite.All和Dataset.Read.All等必要的API权限范围
  • 若使用服务主体,需确保其已被添加到目标工作区并分配对应权限
  • 创建后的报表默认无任何可视化元素,完全符合你的需求

内容的提问来源于stack exchange,提问作者NutellaKing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:17:31