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

如何在所有Power BI报表中搜索指定SQL对象的使用情况?

批量搜索Power BI报表中SQL对象的使用实例

以下是几种替代SSMS SQLSearch的方案,可实现批量扫描所有Power BI报表/数据集中的视图、存储过程、表等SQL对象:

1. 利用Tabular Editor批量搜索

  • 连接到Power BI服务的目标工作区,或直接加载本地PBIX文件,导入所有数据集模型
  • 使用编辑器的查找功能(快捷键Ctrl+F),勾选「搜索所有对象」选项,输入目标SQL对象名称(比如[dbo].[SalesTable]或存储过程名)
  • 可自定义搜索范围:覆盖表的数据源查询、计算列、度量值中的SQL引用,甚至直接导入表对应的底层SQL对象
  • 支持将搜索结果导出为文本,方便后续整理

2. PowerShell脚本批量解析PBIX文件

  • 先安装Power BI管理模块:Install-Module -Name MicrosoftPowerBIMgmt
  • 核心步骤:
    1. 登录Power BI服务:Connect-PowerBIServiceAccount
    2. 获取目标工作区的所有报表:$reports = Get-PowerBIReport -WorkspaceId "<工作区ID>"
    3. 循环导出每个报表为PBIX文件:Export-PowerBIReport -ReportId $report.Id -OutFile "C:\Temp\$($report.Name).pbix"
    4. 将PBIX文件(本质是压缩包)解压,读取其中的Model.bimJSON文件
    5. 通过字符串匹配,查找dataSources、queries节点中的SQL对象名称,输出匹配到的报表名及具体位置

3. 调用Power BI REST API实现批量扫描

  • 编写脚本(如Python)完成以下操作:
    1. 调用API获取工作区列表:GET https://api.powerbi.com/v1.0/myorg/groups
    2. 获取每个工作区下的数据集:GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets
    3. 获取数据集的数据源及查询表达式:通过GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/datasources获取数据源信息,再调用GetExpression API获取计算对象的表达式内容
    4. 在返回的JSON数据中匹配目标SQL对象关键词,汇总所有包含该对象的报表/数据集

4. Azure Purview元数据扫描(企业级环境适用)

  • 将Power BI服务与Azure Purview关联,配置元数据扫描规则
  • 扫描完成后,在Purview资产目录中搜索目标SQL对象,即可查看所有依赖它的Power BI报表/数据集
  • 支持跨数据源的依赖关系追踪,不限于SQL对象,还能关联其他类型数据源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:12:07