以编程方式将 Power BI 报表部署到 Power BI 报表服务器并更改连接字符串

2023-11-24

是否有任何方法可以将 Power BI 报表部署到 Power BI 报表服务器,而无需手动复制这些文件,将它们上传到服务器,最后逐个报表地更改每个报表的数据源连接信息,这在每个报表中都不实用客户站点。

例如。 PowerBI 报告文件 - “Report_1”需要部署在客户服务器 S1、S2、S3 等上。

现在,我们手动复制这些文件,将它们上传到服务器,最后逐个报告地更改每个报告的数据源连接信息,这在每个客户站点中并不实用。

我们如何自动将 PBIX 报告部署到 Power BI 报告服务器并以编程方式更改数据源连接字符串。

Microsoft 于 2020 年 1 月发布了使用 API 更新连接字符串的功能。

enter image description here

微软在2020年1月发布了这个功能,但是2019年还有办法吗?更新连接字符串还有其他方法吗?

微软链接


终于发明了一种在 PowerBI 中更新连接字符串的技巧。

首先在Powershell中安装PowerBI API。 Microsoft API 不提供更新连接字符串的能力,但提供更新用户名的权限。 用户名和连接字符串都以加密格式存储在数据库中。 因此逻辑是将连接字符串传递给用户名,然后将加密的字符串复制到数据库中的连接字符串列。 请检查下面的示例,我已经编写并发明了这个技巧。谢谢。

# Code By SB 2019
$ReportServerURI = 'http://localhost/PowerBIReports' # Input Local path of powerbi file
$filePath = "C:\12.pbix"                                # Input Local path of powerbi file
$PBIxfileName = "12"                                    # INput your Powerbi File Name
$FolderName ='NewDataset'                               # Input PowerBI server Folder Name Where you wann to deploy
$Username ='admin'
$password ='password'                          
$ReportServerName ='localhost\SQl2017'                  #input SQL server where POWERBI database installed
$ReportServerDatabase = 'ReportServerPowerBI'           #input PowerBi Database Name 

$ConnectionString ='data source=Client01\SQL2019;initial catalog=Client_SB_1'  # input New Connection String / Client ConnectionString

$FolderLocation = '/'
$FolderPath = $FolderLocation + $FolderName

write-host "Deployment Started ..." -ForeGroundColor Yellow 
$session = New-RsRestSession -ReportPortalUri $ReportServerURI
Write-RsRestCatalogItem -WebSession $session -Path $filePath -RsFolder $folderPath -Description $Description -Overwrite
$datasources = Get-RsRestItemDataSource -WebSession $session -RsItem "$FolderPath/$PBIxfileName"
$dataSources[0].DataModelDataSource.AuthType = ‘Windows'
$dataSources[0].DataModelDataSource.Username = $ConnectionString 
$dataSources[0].DataModelDataSource.Secret = $password

Set-RsRestItemDataSource -WebSession $session -RsItem "$folderPath/$PBIxfileName" -RsItemType PowerBIReport -DataSources $datasources

$ID =  $dataSources[0].Id
$Query = " Update [DataModelDataSource] SET ConnectionString = Username From [dbo].[DataModelDataSource] Where DataSourceID ='" + $ID  + "' "

Invoke-Sqlcmd -Query $Query -ServerInstance CPMSUNRSQL17\CPMSRINST17 -Database ReportServerPowerBI

$datasources = Get-RsRestItemDataSource -WebSession $session -RsItem "$FolderPath/$PBIxfileName"
$dataSources[0].DataModelDataSource.Username = $Username
$dataSources[0].DataModelDataSource.Secret = $password
Set-RsRestItemDataSource -WebSession $session -RsItem "$folderPath/$PBIxfileName" -RsItemType PowerBIReport -DataSources $datasources

write-host "Deployment Done . . ." -ForeGroundColor Green 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式将 Power BI 报表部署到 Power BI 报表服务器并更改连接字符串 的相关文章

  • 在 WildFly 10 中添加 jar 作为部署

    有没有办法 我们可以将 jar 部署为库 部署WildFly 10就像我们可以做到的那样weblogic服务器 或者我们可以将 jar 放在服务器的任何文件夹中并将这些依赖项定义为provided 我得到了什么部署方式jars on Wil
  • 如何将切片器值设置为Power BI中第一个可用值表单表?

    我要求切片器中所选的值必须有效 让我们假设如果我在商店切片器中选择一个值 并且该商店将从公司中删除 切片器仍将显示其名称 但与切片器交互的视觉效果中没有数据 选择默认值 手动更新切片器值 但我只想在我的商店切片器中选择相关商店 我知道它的切
  • 打包用来部署跨平台?

    在 Windows 上 应用程序通常打包为 MSI 在 Redhat Linux 上打包为 RPM 可用于将应用程序部署到所有平台 包括不同风格的 UNIX 和 Windows 的最佳开源打包方法是什么 内容包括 exe unix 二进制文
  • 发布预编译的 ASP.net-MVC VS2010

    我找到了几个使用构建后事件的解决方案 有没有办法publishASP NET MVC 网站带有编译视图 以防止第一个用户查看延迟 但是不编译 them 在开发环境中 更快地编译网站 谢谢你 附 理想情况下 在 Visual Studio 2
  • Web应用程序结构和部署

    我们的产品是一个 ASP Net Web 应用程序 目前 我们在 Visual Studio 中使用网站项目 但研究使用 Web 应用程序项目已经有一段时间了 我目前正在研究它们 以便我们能够改进我们的部署过程 我们有一个在不同客户之间共享
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • 通过 ARM 模板将现有混合连接链接到 azure Web 应用程序

    我在天蓝色中有一个资源组 其中包含一个包含混合连接的中继 我正在尝试部署另一个包含 Web 应用程序的资源组 该应用程序应链接其他资源组中的现有混合连接 在天蓝色门户中执行此任务很简单 但由于我想在 ARM 模板部署期间运行 完整模式 因此
  • 强力查询历年产品利润对比

    我有一个数据集 其中包含公司 产品 利润和年份 公司每年都会销售少量产品并获得利润 公司没有必要在明年销售相同的产品 他们可能会省略以前的产品并添加新的少量产品 我只想对两年的产品进行逐个比较 如下所示 我的数据集是 Company Pro
  • 如何使 Rails 3 资源预编译速度更快?

    我有一个正在运行的 Rails 3 2 1 应用程序 我正在通过 Capistrano 进行部署deploy assets它运行deploy assets precompile task 一切工作都很好 除了编译本身非常慢 我没有那么多 C
  • 部署 .war 时出现 Glassfish 服务器错误:部署期间发生错误:准备应用程序时出现异常:资源无效

    我正在使用以下内容 NetBeans IDE 7 3 内部版本 201306052037 爪哇 1 7 0 17 Java HotSpot TM 64 位服务器虚拟机 23 7 b01 NetBeans 集成 GlassFish Serve
  • 在 Asp.Net Core 中手动创建 OData feed,在 Power BI 中使用 feed

    我正在尝试手动编写一个用作 OData feed 的 Web Api 我不需要太多功能 只需将实体框架中存储的数据导出到 Power BI 等应用程序的能力即可 我只需要能够查看 因此我计划只实现 GET 请求 我目前有一个标准 Web a
  • 如何在 Kubernetes 中按特定顺序配置 Pod 初始化?

    我想知道如何按特定顺序开始部署 我知道initContainers但这对我不起作用 我有一个巨大的平台 有大约 20 个部署和 5 个有状态集 每个都有自己的服务 环境变量 卷 水平自动缩放器等 所以不可能 或者我不知道如何 在另一个中定义
  • 无需访问 Internet 即可部署 Django 的简单方法?

    我拥有的是使用 Django 开发的 Intranet 站点的开发版本以及放置在 virtualenv 中的一些外部库 它运行良好 我可以在任何具有互联网连接的计算机上使用相同的参数 使用 pip 轻松设置 virtualenv 但是 不幸
  • 无法加载文件或程序集“System.Web.Razor”或其依赖项之一

    我在我的网站 Web 应用程序 中使用了 Umbraco 4 11 6 我的网站在 localhost 中工作 通过 Visual Studio 2012 和 IIS v7 进行测试 但是当我从互联网空间运行它时 出现错误 错误是 无法加载
  • 如何使用 NodeJS 和 Express 为 OpenShift 应用程序配置路由

    我是 OpenShift 新手 我需要一些帮助来在 OpenShift 上配置我的应用程序的路由 这是我尝试部署的 NodeJS Express 应用程序中的端口和 IP 配置 const server port process env O
  • ClickOnce Hello World 不起作用

    我阅读了一些有关如何进行 ClickOnce 部署的文档 现在我正在尝试部署 hello world 应用程序 我有一个 WPF 默认应用程序 只是一个空窗口 这就是我所做的 打开项目属性 打开发布向导 选择本地服务器 我使用 Visual
  • ILMerge 最佳实践

    你用ILMerge吗 您是否使用 ILMerge 合并多个程序集以简化 dll 的部署 在将程序集合并在一起后 您是否发现生产中的部署 版本控制存在问题 我正在寻找一些有关使用 ILMerge 减少部署摩擦的建议 如果可能的话 我将 ILM
  • .net core 1.1 中嵌入的 power bi

    目前 我正在尝试在 Visual Studio 2017 中为我的 net core 1 1 项目导入 powerbi 包 但是 我收到以下错误 Install Package Package Microsoft PowerBI Core
  • 仅从数据库获取我想要的数据但保留结构

    我正在尝试在 powerbi 上执行此操作 但我想这只是基本的 SQL 我想将我的数据导入到 powerBi 中 但使用一些 id 对其进行过滤 我们以这个例子为例 我与一些公司有数据库 表1 每个公司都有建筑物 表2 每个建筑物有员工 表
  • 0xc000007b“应用程序无法正确启动”错误?

    我在 Visual Studio 2019 中编写了一个 C 控制台应用程序 并尝试将其部署到另一台 Windows 笔记本电脑 两台笔记本电脑均运行最新的 64 位 Windows 10 我的目标笔记本电脑已安装 最新的 NET Fram

随机推荐

  • 通过 JNI 更快的 Math.exp() ?

    我需要计算Math exp 非常频繁地从 java 中获取 是否有可能让本机版本运行得比java s Math exp 我只尝试了 jni C 但它比普通的慢java 这已经被多次请求 参见例如here 这是 Math exp 的近似值 复
  • LINQ 可以在 PowerShell 中使用吗?

    我正在尝试在 PowerShell 中使用 LINQ 看起来这应该是完全可能的 因为 PowerShell 是构建在 NET Framework 之上的 但我无法让它工作 例如 当我尝试以下 人为的 代码时 data 0 10 System
  • 如何使用多个 WCF 服务实例强制执行消息队列顺序

    我想创建一个使用 MSMQ 绑定的 WCF 服务 因为该服务要处理大量通知 重要的是 客户端不会被服务阻塞 并且通知按照它们发出的顺序进行处理 因此队列实现也是如此 另一个考虑因素是弹性 我知道我可以对 MSMQ 本身进行集群以使队列更加健
  • Apache Spark:使用文件夹结构来减少分析的运行时间

    我想通过将一个巨大的 csv 文件根据其特征细分为不同的分区来优化 Spark 应用程序的运行时 例如 我有一个包含客户 ID 的列 整数 a 一个包含日期的列 月 年 例如 01 2015 b 以及一个包含产品 ID 的列 整数 c 以及
  • Mockito / Powermockito 模拟私有 void 方法

    我需要使用mockito和powermock模拟一个不带参数的私有void方法 该方法属于一个间谍实例 我知道我需要这样做的事实表明代码很糟糕 但我正在处理一个旧项目 将单元测试从一个测试框架转换为另一个测试框架 如果有人有任何建议 我们将
  • 在 Windows 7 64 位上安装 pycuda-2013.1.1

    仅供参考 我有 64 位版本的 Python 2 7 和 我跟着pycuda安装说明安装pycuda 我运行以下脚本没有任何问题 import pycuda driver as cuda import pycuda autoinit fro
  • 在 Rmarkdown HTML 输出中禁止来自 RStan 的运行消息

    以下是我的 r 代码 r message FALSE warning FALSE cache 0 eval TRUE error FALSE stan m1 lt rethinking map2stan alist y dbinom n p
  • 如何创建紧凑型材

    我在谷歌上搜索找到一种在 Java 1 8 中创建紧凑配置文件的方法 是否可以创建紧凑配置文件 因为Here说它仅适用于嵌入式版本 简短回答 JEP 161说配置文件必须在 Java 8 中 确实如此 要创建它们 请使用make profi
  • 尝试使用 numpy 向量化迭代计算

    我试图通过使用 numpy 中的向量化形式来使某些代码更有效 让我给你举个例子 这样你就明白我的意思了 给出以下代码 a np zeros 4 4 a 0 1 2 3 4 for i in range len a 1 a i 1 2 a i
  • 通过 Rails 迁移添加数据库列并基于另一列填充它

    我正在编写一个迁移以向表中添加一列 该列的值取决于另外两个现有列的值 最好 最快的方法是什么 目前我有这个 但不确定这是否是最好的方法 因为组表可能非常大 class AddColorToGroup lt ActiveRecord Migr
  • 有效 Cookie 值的明确指南

    我知道还有其他问题 但他们的答案似乎是假设而不是确定的 我有限的理解是cookie值是 分号已用于分隔单个 cookie 中的 cookie 属性 等号用于分隔 cookie 名称和值 冒号用于分隔标头中的多个 cookie 还有其他 特殊
  • Chrome 不缓存图像/js/css

    当 Chrome 加载我的网站时 它会在显示文件之前检查服务器是否有文件的更新版本 图像 Javascript CSS 它从服务器获取 304 因为我从不编辑外部 javascript css 或图像 我想要它做的是显示图像 甚至无需检查服
  • 在 C 和 C++ 中使用浮点转换与浮点后缀有什么区别吗?

    这之间有区别吗 使用浮点文字后缀 float MY FLOAT 3 14159265358979323846264338328f f suffix double MY DOUBLE 3 141592653589793238462643383
  • Bash:无法在管道右侧构建数组

    有人知道为什么这段代码不能按预期工作吗 gt svnTags gt svn ls http plugins svn wordpress org duplicate post tags while read line do slashless
  • 实体框架 4 实体状态未更改触发更新

    我正在使用 EF 4 使用存储过程映射我的实体的所有 CUD 操作 我有两个表 地址和人员 一个人可以有多个与其关联的地址 这是我正在运行的代码 Person person from p in context People where p
  • JavaScriptSerializer - 枚举作为字符串的 JSON 序列化

    我有一堂课 其中包含enum属性 并在使用序列化对象时JavaScriptSerializer 我的 json 结果包含枚举的整数值而不是它的string 姓名 有没有办法让枚举作为string在我的 json 中 无需创建自定义JavaS
  • 当您等待失败的任务时会发生什么

    我有一个理论问题要问你 如果我在另一个任务中等待一个任务的结果 会发生什么 我想知道我现在的系统以后是否还能工作 任务启动并执行一些操作 在某些时候 该任务可能需要另一个任务来处理当前任务本身无法处理的数据 所以我使用await来确保只要他
  • Codeigniter php7 错误

    我在 Codeigniter 2 上有一个网站 当我将服务器版本切换到 PHP7 时 出现以下两个错误 遇到 PHP 错误严重性 通知 消息 仅应通过引用分配变量 文件名 core Controller php 线路编号 51 this g
  • 在 Android 中拨打 911

    我想使用 Android SDK 拨打紧急号码 我正在使用以下代码拨打号码 911 此代码适用于除 911 紧急号码 之外的所有号码 当我使用 911 时 它会显示我不想要的拨号屏幕 是否有任何程序可以在不打开拨号器的情况下拨打 911 或
  • 以编程方式将 Power BI 报表部署到 Power BI 报表服务器并更改连接字符串

    是否有任何方法可以将 Power BI 报表部署到 Power BI 报表服务器 而无需手动复制这些文件 将它们上传到服务器 最后逐个报表地更改每个报表的数据源连接信息 这在每个报表中都不实用客户站点 例如 PowerBI 报告文件 Rep