← ClaudeAtlas

pbid-tom-livelisted

Use for scripting an open Power BI Desktop model via its localhost msmdsrv.exe Analysis Services proxy — TOM (Microsoft.AnalysisServices.Tabular) for metadata, ADOMD.NET (AdomdConnection) for DAX. Covers PowerShell setup with retail.amd64 AMO/TOM + ADOMD NuGet DLLs, discovering the msmdsrv port (msmdsrv.port.txt / netstat), connecting via server Databases Model, SaveChanges / UndoLocalChanges, ExecuteReader for EVALUATE, DAX validation pre-save, TMSL refresh types (full / calculate / automatic / dataOnly / clearValues / defragment), VertiPaq DMVs ($SYSTEM.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS, TMSCHEMA_*), query listener via DISCOVER_SESSIONS, EVALUATEANDLOG trace events (DAXEvaluationLog), FE-vs-SE Server Timings profiling, DAXLib UDF packages (CL 1702+), Calendar Column Groups (CL 1604+). Invoke when user mentions TOM, ADOMD, msmdsrv, VertiPaq, DMV, EVALUATEANDLOG, Server Timings, daxlib.
wardawgmalvicious/claude-config · ★ 1 · AI & Automation · score 72
Install: claude install-skill wardawgmalvicious/claude-config
## Power BI Desktop — Live TOM / ADOMD Operations Local Analysis Services proxy inside Power BI Desktop. Enables TOM (metadata) and ADOMD.NET (DAX query) connections from PowerShell. Does not work for thin reports, Direct Lake models, or remote XMLA endpoints. For those use a remote XMLA / Power BI REST approach — see fabric-tmdl for semantic-model authoring and fabric-tmdl-api for Fabric semantic-model definition REST call patterns (createItemWithDefinition, updateDefinition). > **Note (April 2026)**: Direct Lake on OneLake gained calculated-column / calculated-table preview support. The local msmdsrv proxy still does not bind to Direct Lake models — author and edit those columns through the remote XMLA endpoint (or the Desktop UI) and use TOM there. Local TOM / ADOMD scripting in this skill remains scoped to Import / DirectQuery models. ### Prerequisites | Requirement | Notes | |---|---| | Power BI Desktop | Open with a non-thin model loaded | | PowerShell + `nuget` | `winget install Microsoft.NuGet` | | `Microsoft.AnalysisServices.retail.amd64` | TOM metadata DLLs | | `Microsoft.AnalysisServices.AdomdClient.retail.amd64` | DAX query DLLs | Packages extract to `$env:TEMP\tom_nuget\...\lib\net45\`. Load via `Add-Type -Path`. If TOM calls fail with missing type / compatibility level errors, swap to the newer `Microsoft.AnalysisServices` (.NET 8) package. ### Discovering Running PBID Instances Each open `.pbix`/`.pbip` spawns one `msmdsrv.exe` on a random localhost port