Skip to main content
Glama

match_slicer_layout

Learn slicer row structure from reference pages, then re-lay slicers on target pages to the inferred layout, persisting changes to the .pbix file.

Instructions

Learn the slicer ROW STRUCTURE (row count, per-row y, height, left start, horizontal gap) from hand-fixed REFERENCE pages, then re-lay the slicers on TARGET pages onto that structure. Median-based inference tolerates reference noise (a slicer nudged off-canvas, a top row whose y drifts a few px between pages) - structure is INFERRED, never copied pixel-for-pixel. Slicers only: non-slicer visuals are never touched; widths are preserved (they shrink proportionally only when a row physically cannot fit the canvas). Writes the .pbix back offline (Report/Layout patched, DataModel byte-preserved). The .pbix must NOT be open in Power BI Desktop. Returns { ok, learned{referencePages,rows:[{row,y,height,leftStart,gap,samples}],rowPitch}, pagesMatched, totalMoves, pages:[{page,rowsDetected,moves:[{slicer,row,before,after}]}], persistedToDisk }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pbixYesabsolute path to the .pbix (must be CLOSED in Power BI Desktop)
targetsNocomma-separated TARGET pages to re-lay; omit (or 'all') for every OTHER slicer-bearing page
reference_pagesYescomma-separated REFERENCE pages to learn from: ordinals (e.g. '0,1,2,3') and/or page names/displayNames
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description steps up: it discloses median-based inference tolerating noise, never copying pixel-for-pixel, only touching slicers, preserving widths with a shrink condition, offline write-back with DataModel byte-preservation, and the hard requirement that the .pbix must be closed. This is exceptionally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense: each sentence covers a distinct aspect (purpose, tolerance, scope, persistence, return). It is well-structured and free of fluff, though slightly verbose given the complexity it handles.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 3 parameters and no output schema, the description is remarkably complete. It covers the inference method, edge cases (off-canvas slicers, y drift), constraints (closed file, slicers only), side effects (write-back details), and the exact return shape, leaving little ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all three parameters (100% coverage), and the description adds conceptual value by explaining the learn/apply workflow and the roles of reference_pages and targets. It does not add new syntax details but reinforces the intended meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific two-step verb phrase ('Learn the slicer ROW STRUCTURE... then re-lay the slicers...') that clearly names the resource (.pbix) and the scope (slicers only). The reference/target page distinction uniquely separates it from generic layout tools like tidy_slicer_layout.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the exact scenario: use when you have hand-fixed REFERENCE pages and need to apply their slicer structure to TARGET pages. It does not explicitly compare with sibling tools (e.g., tidy_slicer_layout) or state exclusions, but the context is sufficient for basic selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyphonica/powerbi-pbix-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server