用途:在 Power BI Desktop 打开且已加载模型时,通过 PowerShell 使用 TOM(Tabular Object Model)与 ADOMD.NET 连接其本地 Analysis Services 实例,用于模型枚举、DAX 查询、查询跟踪以及完整的模型修改;当 Tabular Editor CLI 或 Power BI MCP 服务器不可用时启用。该技能不通过 XMLA 端点支持远程模型,Direct Lake 或 Fabric 托管模型应改用 Tabular Editor CLI 或 Power BI MCP。
主要能力:连接本地实例并枚举数据库与表;用 ADOMD.NET 执行 DAX 查询与 DMV 元数据查询;通过 TOM 对表、列、度量值、计算列、关系、层次结构、角色、透视、区域设置、分区、注释、表达式、数据源、计算组等对象进行增删改查;以 TMSL 或 RequestRefresh API 触发 full、calculate、automatic、dataOnly 刷新;配合 Desktop Bridge 完成报告重载与页面截图验证。报告画布的可视化编辑由 pbir-cli 负责,本技能不直接修改报告 JSON。
使用方式:先确认 PBI Desktop 已打开且加载模型;用 netstat 或端口文件定位 msmdsrv 端口,多实例时通过进程树将端口关联到具体报告;安装 NuGet 包 Microsoft.AnalysisServices.retail.amd64 与 Microsoft.AnalysisServices.AdomdClient.retail.amd64,并用 Add-Type -Path 加载 DLL;连接后执行查询或修改,最后必须调用 $model.SaveChanges() 持久化,并 $server.Disconnect() 断开。PowerShell 命令建议超时 60000ms 以上,使用 -ExecutionPolicy Bypass;脚本放入项目 scripts 目录,临时脚本放 tmp/。
限制:本地实例仅接受 localhost 连接;thin report 或 Direct Lake 模型会出现 Databases: 0,需查询远程模型;修改后 Power BI 无法用 Ctrl+Z 撤销;不修改模型元数据需用户明确指示。其余如具体价格、更多平台支持等暂未提供。