← ClaudeAtlas

pbir-visual-jsonlisted

Use when editing visual.json inside a Power BI PBIR report's visuals/ folder. Covers top-level structure (name, position, visual vs visualGroup mutually exclusive, filterConfig sibling NOT child of visual, root-level isHidden for bookmark toggles), expression literal suffixes — string 'text', double 14D, integer 14L, decimal 2.4M, hex '#FF0000', datetime literal, null — with exceptions (transparency uses L inside dropShadow, labelPrecision L, labelDisplayUnits D, triple-quoted font fallback chains), field reference patterns (Column, Measure, Aggregation, HierarchyLevel, SparklineData), visual-type to query-role map (card, tableEx, pivotTable, slicer, lineChart, barChart, kpi, scatterChart), objects vs visualContainerObjects split, sortDefinition, slicer default values via objects.general.properties.filter, visual groups, table column widths. Invoke when user edits visual.json, sets a visual property, debugs silently-ignored container props, or writes SQExpr literals.
wardawgmalvicious/claude-config · ★ 1 · Data & Documents · score 75
Install: claude install-skill wardawgmalvicious/claude-config
## PBIR visual.json Reference Path: `Report.Report/definition/pages/{PageName}/visuals/{VisualName}/visual.json` ### Top-Level Structure | Property | Type | Required | Notes | |---|---|---|---| | `$schema` | string | yes | `.../visualContainer/2.7.0/schema.json` | | `name` | string | yes | Stable visual ID — referenced by bookmarks, interactions | | `position` | object | yes | `x`, `y`, `z`, `width`, `height`, `tabOrder` | | `visual` | object | one of | Regular visual — mutually exclusive with `visualGroup` | | `visualGroup` | object | one of | Group container | | `parentGroupName` | string | no | Set on children of a `visualGroup` | | `filterConfig` | object | no | Visual-scoped filters — sibling of `visual`, NOT nested | | `isHidden` | boolean | no | Root-level. Visual still processes data; common for bookmark toggles | ### position ```json {"x": 100, "y": 50, "z": 1000, "width": 400, "height": 300, "tabOrder": 0} ``` `z` layer order: higher = front. Common values `0, 1000, 2000, 3000, 5000, 8000, 15000`. ### visual Object | Property | Notes | |---|---| | `visualType` | See visual type table below | | `query.queryState` | Role → projections map | | `query.sortDefinition` | `sort[]` + `isDefaultSort` | | `objects` | Visual-specific formatting (axes, legend, dataPoint, labels, lineStyles) | | `visualContainerObjects` | Container formatting (title, subTitle, background, border, dropShadow, padding, divider, visualHeader, visualTooltip) | | `drillFilterOtherVisuals` | b