Aller au contenu
Plume Visuals
← Retour

Basic Slicer Plume

Le segment de tous les jours, en menu déroulant ou en liste : une ligne repliée dont la liste passe par-dessus le rapport, ou des valeurs toujours affichées, avec hiérarchie en option.

Certifié par MicrosoftCERTIFIÉ MICROSOFT • POWER BI •
Tutoriels ↓
Installer depuis Microsoft MarketplacePage officielle du visuel chez Microsoft · installation gratuite

Démo interactive

Le vrai visuel Power BI, exécuté dans votre navigateur avec les données fictives du rapport d'exemple. Les cartes et les barres réagissent au filtre comme dans un rapport.

Basic Slicer Plume est un menu déroulant : replié, il n'occupe qu'une ligne et affiche « Tout » ou les valeurs choisies ; ouvert, sa liste passe par-dessus les cartes et les graphiques placés dessous (cadre transparent, visuel au premier plan). Glissez plusieurs colonnes dans « Champ » et le menu devient une hiérarchie Catégorie › Produit, avec cases partielles, recherche et boutons « Tout déplier ». Comme le segment natif, il s'affiche aussi en liste, valeurs toujours visibles dans le cadre (Format › Présentation › Affichage). Seul le champ est nécessaire, aucun filigrane avec les réglages par défaut.

Cas d'usage

  • Une rangée de filtres compacte en haut d'un tableau de bord
  • Choisir un produit dans une hiérarchie Catégorie › Produit
  • Gagner de la place : la liste s'ouvre par-dessus les cartes KPI
  • Remplacer le segment natif, en menu déroulant ou en liste, par un segment avec recherche et décompte

GratuitInclus gratuitement

  • Zone repliée « Tout » ou valeurs choisies (« +n »), croix d'effacement, hauteur réglable
  • Menu par-dessus le visuel du dessous : cadre transparent par défaut ; ouverture automatique, sous la zone ou plein cadre
  • Présentation en liste, comme le segment natif : valeurs toujours affichées, bouton « Effacer » dans l'en-tête
  • Hiérarchie à 2 niveaux : déplier, cocher un parent ou un enfant, cases partielles, « Tout déplier / Tout replier »
  • Recherche sans accents, « Tout sélectionner », sélection multiple, avec Ctrl ou unique
  • Décompte facultatif à droite des valeurs, tri, valeurs sans données grisées ou masquées
  • Clavier complet (combobox, arbre), signets et segments synchronisés, contraste élevé
  • Style Mosaïque (un bouton par valeur), hiérarchie restreinte aux nœuds feuilles, comme le segment natif
  • Formats dynamiques : bouton fx sur les couleurs et les textes, tout réglage piloté en DAX
  • Styles Minimal et Noir et blanc, couleurs personnalisées (fond, texte, texte secondaire, traits, fond des barres, accent)

PremiumFonctions premium

  • Hiérarchie de 3 à 6 niveaux (Univers › Catégorie › Produit…)
  • Présélection à l'ouverture par une mesure DAX : valeurs ou nœud précis (« Bureau › Lampe »)
  • Styles communs au catalogue (Néon, Journal, Graphite…), palettes et thème JSON

Utilisables sans clé pour les essayer, avec un filigrane.

Tutoriels

Commencez par la prise en main, puis piochez dans les cas pratiques. La page « Champs et réglages » décrit chaque option du volet Format.

  1. Prise en mainDébutant10 min de lectureUn segment menu déroulant qui s'ouvre par-dessus le rapport, avec hiérarchiePrise en main de Basic Slicer Plume : un menu d'une ligne qui passe par-dessus les visuels, une hiérarchie Catégorie › Produit et un décompte facultatif.
  2. Cas pratiquesIntermédiaire5 min de lectureBasic Slicer Plume : 8 cas pratiques (liste, signets, hiérarchie…)Afficher les valeurs en liste, synchroniser le segment, mémoriser une sélection, imposer une seule valeur, construire une hiérarchie à trois niveaux.
  3. Champs et réglagesIntermédiaire13 min de lectureBasic Slicer Plume : tous les champs et réglages expliquésChaque zone de champ et chaque réglage du volet Format de Basic Slicer Plume : à quoi il sert, ses valeurs possibles et sa valeur par défaut.
  4. Bases communesBien démarrer avec les visuels PlumeInstallation, licence, styles et réglages communs à tous les visuels.

Champs à glisser dans le visuel

ChampContenu
Champ (ou niveaux de hiérarchie)1 colonne, ou jusqu'à 6 pour une hiérarchie (3 et plus : ★)Obligatoire
Décompte (facultatif)Mesure additive affichée à droite des valeursFacultatif
PrésélectionMesure : la ou les valeurs sélectionnées à l'ouverture du rapport, ex. « Paris;Lyon » (fonction ★)FacultatifPremium
Format dynamiqueMesures renommées carte.réglage (ex. title.text) : le volet Format piloté en DAXFacultatif

Il vous manque une fonction ? Nous adaptons nos visuels ou en créons sur mesure. Demander un visuel sur mesure

Un bug dans Basic Slicer Plume, ou une idée pour l'améliorer ? Signaler un bug · Proposer une idée

Référence technique pour assistants IA

Section destinée aux assistants IA (ChatGPT, Claude, Copilot…) : tous les champs, toutes les options du volet Format avec leurs noms internes, le format des données et des exemples DAX. Générée depuis le code du visuel, version 1.2.0.0. Vous pouvez la copier dans votre assistant pour qu'il vous guide.

Version Markdown brute (/ai/visuals/basic-slicer.md)
# Basic Slicer Plume: technical reference for AI assistants

> Power BI custom visual by Plume Studio (Plume Visuals). Visual version **1.2.0.0**. This page is generated from the visual's source code at each site build: field names, option names and defaults are exact for this version.

Use it to help someone build a report with Basic Slicer Plume: which fields to drag, how to shape the data, which Format pane option to change, or how to write the visual's settings in a PBIP `visual.json` file.

- Product page: https://plumevisuals.com/en/visuals/basic-slicer (French: https://plumevisuals.com/fr/visuels/basic-slicer)
- Summary: The everyday slicer, as a dropdown or a list: one closed line whose list opens over the report, or values always on show, with an optional hierarchy.
- Power BI visual GUID (`visualType`): `plumeBasicSlicer7DA15E10126E4C62A508BE9893B439D9`
- Power BI visuals API: 5.11.1
- Support: https://plumevisuals.com/support · contact@plumevisuals.com
- Index of everything on the site for AI assistants: https://plumevisuals.com/llms.txt

## What the visual does

Basic Slicer Plume is a Power BI custom visual that works like the native slicer, in its two main layouts (`layout.mode`, Format › Layout › Display as; French « Présentation › Affichage »): **`dropdown`** (default, « Liste déroulante ») and **`list`** (« Liste »). As a dropdown, it is a collapsed box about 32 px high (`layout.boxHeight`) that shows "All" (French « Tout », or the text in `layout.allText`) or the chosen values separated by commas and truncated with "+n" (or "3 selected" with `layout.display` = `count`), a clear cross (`layout.showClear`) and a chevron. Clicking the box opens a menu with the values and their checkboxes. With **several columns in the Field well** (up to 6), the menu becomes a **hierarchy** (Category › Product): parents expand and collapse, ticking a parent ticks all its children, and a half-filled box shows a partial selection. Optional: search (`search.show`), a "Select all" row, single selection, an additive Count measure shown next to the values, "Expand all / Collapse all" buttons.

**New in version 1.2.0.0 (30/10/2026):** Shared slicer cards (Preselection, Frame); new **Tiles** style (`layout.mode` = `tiles`), "Restrict to leaf nodes" in hierarchies, preselection of a precise node; `dropdown.*` moved to **Layout** (`dropdown.layout` → `layout.mode`).

As a **list** (`layout.mode` = `list`), there is no collapsed box and no menu: the values (or the tree) stay visible in the visual's frame, under the header, with the search box and the "Expand all / Collapse all" buttons above them, and the list scrolls when it is taller than the frame, like the native vertical list slicer. Selection, hierarchy, count, sort, search and keyboard work the same way. The options that only concern the box and the menu (`layout.menuOpening`, `menuHeight`, `menuWidth`, `boxHeight`, `allText`, `display`, `showClear`, `hierarchy.parentInText`) are hidden; the header gets a "Clear" button (`header.showClear`, on by default, shown when something is selected) and an optional selected count (`header.showCount`, off by default). The list layout is free.

By default the visual's own frame is **transparent and borderless** (`container.transparent` = true, `container.border` = false, `container.padding` = 2): the box is the only thing drawn when the menu is closed. A Power BI visual cannot draw outside its frame (iframe), so to make the menu open **over the visual placed below**, the report author makes the Basic Slicer frame taller than the box, brings it to front (Format › Arrange › Bring to front, or a higher z-order) and turns off its container background (Format › General › Effects › Background: the container background is a Power BI setting that a custom visual cannot turn off itself). Limitation: even transparent, the frame still captures the mouse, so the visual underneath cannot be clicked or hovered in the covered area; cover titles, KPI cards or margins rather than interactive charts.

## Free vs premium (★)

- Every feature works without a key and nothing is ever blocked. Free features never show a watermark, and the visual inserted with its default settings never shows one.
- Shared Style card (the same in every Plume visual): the styles `none`, `minimal` and `blackWhite`, the two Plume gradient palettes (`crest`, `crestDiverging`), "Follow report theme" and all custom colors (`style.customColors` and the colors under it) are **free**; every other `style.preset`, the other gradient palettes (`style.palette`) and `style.themeJson` ("Theme JSON ★") are **premium** (watermark without a key). See "Styles and theme JSON" below.
- Premium features of Basic Slicer Plume:
  - a hierarchy of **3 to 6 levels** in the Field well (1 or 2 levels are free);
- Without a valid key, a premium feature in use shows **"Plume Visuals · Premium preview"** (French: « Plume Visuals · Aperçu premium ») in the footer, with an "Unlock →" link to the pricing page. It disappears once a key is pasted in **Format › Plume Studio License › License key** (`license.key`; French: « Licence Plume Studio › Clé de licence »), the **first card** of the Format pane. The landing page (no field yet) never shows the watermark.
- Accepted keys: only keys starting with `PLUM1.` shown in the buyer's account on plumevisuals.com, checked offline (Ed25519 signature), covering `basic-slicer` or the whole catalog. In edit mode, a wrong key shows "Invalid license key", "License expired (date)" or "This key does not cover this visual". `license.showOwner` displays "Licensed to <holder>".
- Licenses last one year (one-time payment, no automatic renewal, key accepted for 30 more days, reminders 30 and 7 days before the end), per segment: 19 € personal, 49 € SME, 149 € enterprise per year, or the full catalog pack.

## Expected data shape

The visual reads **one row per existing combination of the Field columns**, with the optional Count measure evaluated for that combination, and builds the tree from these rows.

| Field (`fields`): Category | Field: Product | Count (`count`, optional) |
|---|---|---|
| Kitchen | Knives | 412 |
| Kitchen | Saucepan | 388 |
| Decor | Vase | 251 |
| … | … | … |

- **Field (or hierarchy levels)** (`fields`, label "Field (or hierarchy levels)" / « Champ (ou niveaux de hiérarchie) », grouping, 1 to 6 columns, required): one column for a flat list, several columns for a hierarchy, in the order of the well (first = top level). Text, number, boolean and date columns work.
- **Count (optional)** (`count`, « Décompte (facultatif) », one measure): shown at the right of each value (`items.showValues`, `items.units`, `items.decimals`), used by the "Count, descending / ascending" sort and to detect values without data (`items.empty`). A parent shows the **sum** of its children, so use an additive measure (COUNTROWS, SUM).
- No Tooltips well.
- Volume: 30,000 rows per data window; more are fetched automatically up to a fixed limit of 100,000 rows (combinations). Long menus are virtualized (only the visible rows are created).

## Filter sent to the report

- **One level**, or only first-level values ticked: a `BasicFilter` `In` on the column of the first level, e.g. `{ "target": { "table": "Sales", "column": "Category" }, "operator": "In", "values": ["Kitchen", "Decor"] }`.
- **Deeper selection**: a `TupleFilter` `In` on the first *k* levels, *k* being the deepest level ticked; a parent fully ticked is expanded down to level *k*. Example: Kitchen (whole) + Decor › Vase → `{ "target": [ { "table": "Sales", "column": "Category" }, { "table": "Sales", "column": "Product" } ], "operator": "In", "values": [ [ { "value": "Kitchen" }, { "value": "Knives" } ], [ { "value": "Kitchen" }, { "value": "Saucepan" } ], [ { "value": "Decor" }, { "value": "Vase" } ] ] }`.
- Nothing ticked = filter removed. **Bookmarks** and **Sync slicers** restore the selection from these filters (`supportsSynchronizingFilterState`).

## Interactions with the report

- Menu opening (`layout.menuOpening`): `auto` (default: below the box when at least 120 px are available in the frame, otherwise a full-frame panel with a close button), `below`, `full`. `layout.menuHeight` (300 px by default) and `layout.menuWidth` (0 = width of the box) limit the menu below the box. In edit mode, a frame lower than 110 px shows "Make the visual taller to show the list".
- Closing: click on the box, Esc, click in the frame outside the menu, focus leaving the visual, and the choice of a value in single selection.
- Selection (`selection.mode`): `multi` (click = toggle, default), `multiCtrl`, `single` (radio buttons; `selection.forceOne` keeps one value). `selection.selectAll` adds a "Select all" row. `selection.selectedFirst` moves the selection to the top.
- Hierarchy (card shown with 2 levels or more): `hierarchy.expandLevel` (levels expanded when the menu opens), `hierarchy.expandAll` (buttons), `hierarchy.indent`, `hierarchy.childCount` ("(n)" on parents), `hierarchy.parentInText` ("Parent › Value" in the box).
- Search (`search.show`, off by default): accent-insensitive, `search.match` = contains / starts with / word start; in a hierarchy, matching values are shown with their parents expanded.
- Keyboard: Enter, Space or ↓ opens the menu; ↑ ↓ move, → expands (or moves to the first child), ← collapses (or moves to the parent), Space / Enter ticks, Home / End, Esc closes and gives the focus back to the box, Delete clears. ARIA: `combobox` box, `listbox` / `option` for a flat list, `tree` / `treeitem` with `aria-level`, `aria-expanded` and `aria-checked="mixed"` for a hierarchy. High contrast supported.
- Power BI context menu on a value (right click). Read-only on dashboard tiles. Other visuals cross-filter it (no highlighting).
- The header shows the field name (or "Level 1 › Level 2"), or `header.title`. As a dropdown, the header count and "Clear" button are not used (the clear cross is in the box); as a list, `header.showClear` (default on) and `header.showCount` (default off) apply.
- As a list: no opening or closing; Tab reaches the values directly, Esc does nothing, Delete on a row clears the selection, and the single-selection choice keeps the list visible. With `selection.forceOne`, no clear button, cross or Delete is offered (in both layouts).

## Format pane: how to read the tables below

- Each option has an ID `card.option` (for example `layout.menuOpening`). The card is the capabilities.json **object name**, the option is the **property name**.
- Card order: `license` (always first), `style` (Style card shared by every Plume visual), `layout` (displayed as "Layout" / « Présentation »), `selection`, `hierarchy`, `search`, `items` (values), `header`, `container` (frame), `texts`. Format pane in version 1.2.0.0 (30/10/2026), top to bottom: `license`, `style`, `header`, `layout`, `selection`, `hierarchy`, `items`, `search`, `preselect`, `container`, `texts`. Settings moved or renamed in this version keep working in older reports (the old names are still read).
- Defaults specific to this visual: `container.transparent` = true, `container.border` = false, `container.padding` = 2, `header.fontSize` = 13, `header.showCount` = false.
- `general.filter` is where Power BI stores the filter applied by the visual: never write it by hand.

## Editing a PBIP report (visual.json)

`visualType` is the visual GUID, `queryState` keys are the data role names (several projections in `fields` for a hierarchy), `objects` keys are the option IDs. Turn off the container background in `visualContainerObjects` and raise the `z` of the position to overlay the visual below. For the list layout, add `"layout": { "expr": { "Literal": { "Value": "'list'" } } }` to the `dropdown` properties (no need to turn off the background or raise `z`).

```json
{
  "position": { "x": 16, "y": 86, "z": 3000, "width": 300, "height": 250 },
  "visual": {
    "visualType": "plumeBasicSlicer7DA15E10126E4C62A508BE9893B439D9",
    "query": {
      "queryState": {
        "fields": { "projections": [
          { "field": { "Column": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Category" } }, "queryRef": "Sales.Category", "nativeQueryRef": "Category" },
          { "field": { "Column": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Product" } }, "queryRef": "Sales.Product", "nativeQueryRef": "Product" } ] }
      }
    },
    "objects": {
      "dropdown":  [ { "properties": { "menuOpening": { "expr": { "Literal": { "Value": "'below'" } } },
                                        "menuHeight": { "expr": { "Literal": { "Value": "200D" } } } } } ],
      "hierarchy": [ { "properties": { "expandAll": { "expr": { "Literal": { "Value": "true" } } } } } ],
      "search":    [ { "properties": { "show": { "expr": { "Literal": { "Value": "true" } } } } } ],
      "header":    [ { "properties": { "title": { "expr": { "Literal": { "Value": "'Category › Product'" } } } } } ]
    },
    "visualContainerObjects": {
      "background": [ { "properties": { "show": { "expr": { "Literal": { "Value": "false" } } } } } ],
      "title":      [ { "properties": { "show": { "expr": { "Literal": { "Value": "false" } } } } } ]
    }
  }
}
```

## Styles and theme JSON

- `style.preset` takes one of the 20 style IDs shared by every Plume visual: `none`, `minimal`, `blackWhite`, `press`, `vintage`, `earth`, `nordic`, `executive`, `accessible`, `pastel`, `bauhaus`, `climate`, `blueprint`, `unknownPleasures`, `dark`, `neon`, `terminal`, `infographic`, `cockpit`, `hologram`.
- `style.themeJson` (Format › Style › Theme JSON ★) takes a JSON theme as plain text. Format v2: an object with an optional `extends` (a style ID above) and optional groups `colors`, `palettes`, `typography`, `shape`, `table`, `marks`, `effects`; the v1 flat format (`style`, `palette`, `accent`, `background`…) is still read. Every field is optional. Colors are `#RRGGBB` (`#RGB` and `#RRGGBBAA` accepted, opacity ignored). Unknown fields and values outside the allowed lists are ignored, out-of-range numbers are clamped. Invalid JSON shows "Invalid theme JSON: ignored" in edit mode and the visual keeps its look.
- Full field list with allowed values, examples and troubleshooting: tutorial https://plumevisuals.com/ai/tutorials/en/themes-json.md (French: https://plumevisuals.com/ai/tutorials/fr/themes-json.md). The same JSON can be pasted in every Plume visual of a page.
- Priority (the last one wins): visual defaults → `style.preset` → `style.themeJson` → `style.palette` (if not "Style or theme palette") → `style.followTheme` → custom colors → options set by hand in the other cards → DAX formats (fx button, "Dynamic format" field) → Windows high contrast.
- What this slicer uses from a theme JSON: `colors` (`background`, `foreground`, `muted`, `grid`, `accent`, `borderColor`, `glowColor`), `typography` (`fontFamily`, `titleFamily`, `headerCase`, `letterSpacing`), `shape` (`radius`, `border`, `borderWidth`, `borderStyle`, `shadow`) and `effects` (`glow`, `texture`). `fontFamily`, `radius`, `border`, `borderWidth` and `shadow` only apply while the matching Format pane options are left at their default. The `palettes`, `table` and `marks` groups and the other fields (`surface`, `background2`, `stroke`, `accent2`, `positive`, `negative`, `numberFamily`…) are accepted but have no visible effect on it.

## Common pitfalls

- The user wants the values always visible, like the native list slicer: set `layout.mode` to `list` (no need to overlay anything).
- A white square around the box: the Power BI container background is on (Format › General › Effects › Background); turn it off.
- The menu opens inside a small panel instead of over the visual below: the frame is too low (Auto switches to full frame under 120 px of room) or the visual is behind the other one; make it taller and bring it to front.
- The chart under the slicer no longer reacts in one area: that area is covered by the slicer's frame; reduce the frame or move it over a title or KPI cards.
- Parent counts look wrong: the Count measure is not additive.
- Watermark visible: 3 levels or more in Field, or a premium style / theme JSON, without a valid key.
- The visual makes no network request: data and license key stay in the report.

## Features that do NOT exist (do not suggest them)

Measure bars (use Bar Slicer Plume), several independent fields side by side (use Filter Bar Plume), numeric or date ranges (use Range Plume or Period Plume), a Tooltips well, exclude mode (`NotIn`), drawing outside the visual's frame, an "Apply" button, saved selections, cross-report filtering.

## Data fields (wells)

Internal name = data role name (PBIP `queryState` key). Labels as shown in Power BI (English / French). ★ = premium.

| Internal name | Label (EN) | Label (FR) | Kind | Max fields | Description |
|---|---|---|---|---|---|
| `fields` | Field (or hierarchy levels) | Champ (ou niveaux de hiérarchie) | column | 6 |  |
| `count` | Count (optional) | Décompte (facultatif) | measure | 1 |  |
| `preselect` | Preselection | Présélection | measure | 1 | Optional measure returning the value(s) selected when the report opens, e.g. "Paris;Lyon" or "2026-01-01;2026-03-31" |
| `format` | Dynamic format | Format dynamique | measure | several | Measures named card.setting (e.g. title.fontSize): drive any Format option with DAX |

Data view: categorical, categories = `fields` (one row per combination), 30,000 rows per data window (more fetched automatically); measures = `count`, `preselect`, `format`.
Capabilities: supportsKeyboardFocus, supportsMultiVisualSelection, supportsLandingPage, supportsEmptyDataView, supportsSynchronizingFilterState.
Network access: none (no privileges requested, no external request).

## Format pane options (103)

Columns: option ID (`object.property`), labels EN / FR as shown in Power BI, control type, PBIP literal type, default value, allowed values, notes.

### Plume Studio License / Licence Plume Studio (`license`, Format pane)

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `license.buy` | Get a license | Obtenir une licence | info | text | `plumevisuals.com` |  |  |
| `license.key` | License key | Clé de licence | text | text | (empty) |  | Paste the key received after purchase on plumevisuals.com (starts with PLUM1.). Checked offline. |
| `license.showOwner` | Show license holder (edit mode) | Afficher le titulaire (mode édition) | toggle | bool | `true` | true / false |  |

### Style (`style`, Format pane)

**Style**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.preset` | Style | Style | dropdown | enumeration | `none` | `none` None; `minimal` Minimal; `blackWhite` Black & White; `press` Newspaper ★; `vintage` Vintage (antique plate) ★; `earth` Earth ★; `nordic` Nordic ★; `executive` Executive ★; `accessible` Accessible (high legibility) ★; `pastel` Pastel ★; `bauhaus` Bauhaus (pop) ★; `climate` Climate ★; `blueprint` Blueprint ★; `unknownPleasures` Unknown Pleasures ★; `dark` Graphite (dark) ★; `neon` Neon ★; `terminal` Terminal (Matrix) ★; `infographic` Infographic ★; `cockpit` Cockpit (HUD) ★; `hologram` Hologram ★ | Complete look shared by all Plume visuals: colors, three palettes, fonts, frame, table header, marks and effects. Customize colors below. |
| `style.themeJson` | Theme JSON ★ | Thème JSON ★ | textarea | text | (empty) |  | Paste a JSON theme: see the 'JSON themes' tutorial on plumevisuals.com |
| `style.followTheme` | Follow report theme | Suivre le thème du rapport | toggle | bool | `false` | true / false | Text, background, accent and data colors come from the Power BI report theme. |

**Custom colors / Couleurs personnalisées**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.customColors` | Customize colors | Personnaliser les couleurs | toggle | bool | `false` | true / false | Start from the style and pick your own colors. A color left empty keeps the style's color. |
| `style.colorBackground` | Background | Fond | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorText` | Text | Texte | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorMuted` | Secondary text | Texte secondaire | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorGrid` | Lines and grid | Traits et grille | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorTrack` | Bar track | Fond des barres | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorAccent` | Accent | Accent | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorPositive` | Favorable | Favorable | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorNegative` | Unfavorable | Défavorable | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series1` | Series 1 | Série 1 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series2` | Series 2 | Série 2 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series3` | Series 3 | Série 3 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series4` | Series 4 | Série 4 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series5` | Series 5 | Série 5 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series6` | Series 6 | Série 6 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series7` | Series 7 | Série 7 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series8` | Series 8 | Série 8 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.palette` | Gradient palette | Palette du dégradé | dropdown | enumeration | `auto` | `auto` Style or theme palette; `crest` Plume (sequential); `crestDiverging` Plume (diverging); `viridis` Viridis ★; `magma` Magma ★; `inferno` Inferno ★; `cividis` Cividis (colorblind-safe) ★; `warmingStripes` Warming stripes ★; `rdYlBu` Red–Yellow–Blue ★; `brBG` Brown–Teal (drought) ★; `spectral` Spectral ★; `blues` Blues ★; `reds` Reds ★; `grays` Grays ★; `press` Press (ink and paper) ★; `nordic` Nordic ★; `earth` Earth (ochre to umber) ★; `pastel` Pastel ★; `okabeIto` Okabe-Ito (colorblind-safe) ★ | Visible when `style.customColors` = `true`. Gradient from the catalog (Viridis, Magma…). The start, middle and end colors below replace it. |
| `style.scaleLow` | Gradient: start | Dégradé : début | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.scaleMid` | Gradient: middle (diverging) | Dégradé : milieu (écarts) | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.scaleHigh` | Gradient: end | Dégradé : fin | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |

**Text / Texte**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.fontFamily` | Font | Police | font | formatting | `Segoe UI, wf_segoe-ui_normal, helvetica, arial, sans-serif` |  |  |
| `style.fontSize` | Text size | Taille du texte | number | formatting | `12` | 8 to 28 |  |
| `style.density` | Density | Densité | dropdown | enumeration | `normal` | `compact` Compact; `normal` Normal; `comfortable` Comfortable |  |

**Animations**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.animate` | Animations | Animations | toggle | bool | `true` | true / false | Smooth transitions when data changes. Automatically disabled when the system asks to reduce motion. |

### Header / En-tête (`header`, Format pane)

The card header toggle is `header.show`.

**Title / Titre**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `header.show` | Show | Afficher | toggle | bool | `true` | true / false |  |
| `header.title` | Text | Texte | text | text | (empty) |  | Leave empty to use the field name. |
| `header.fontSize` | Size | Taille | number | formatting | `13` | 7 to 36 |  |
| `header.bold` | Bold | Gras | toggle | bool | `true` | true / false |  |
| `header.italic` | Italic | Italique | toggle | bool | `false` | true / false |  |
| `header.underline` | Underline | Souligné | toggle | bool | `false` | true / false |  |
| `header.color` | Color (empty = text) | Couleur (vide = texte) | color | fill | (empty) | hex color |  |
| `header.bgColor` | Background color | Couleur d'arrière-plan | color | fill | (empty) | hex color |  |
| `header.align` | Horizontal alignment | Alignement horizontal | dropdown | enumeration | `left` | `left` Left; `center` Center; `right` Right |  |
| `header.wrap` | Text wrap | Retour automatique à la ligne | toggle | bool | `true` | true / false | A long title goes on two lines instead of being cut. |

**Divider / Séparateur**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `header.divider` | Show divider | Afficher le séparateur | toggle | bool | `false` | true / false |  |
| `header.dividerColor` | Color (empty = lines) | Couleur (vide = traits) | color | fill | (empty) | hex color | Visible when `header.divider` = `true` |
| `header.dividerStyle` | Line style | Style de trait | dropdown | enumeration | `solid` | `solid` Solid; `dashed` Dashed; `dotted` Dotted | Visible when `header.divider` = `true` |
| `header.dividerWidth` | Width | Épaisseur | number | integer | `1` | 1 to 6 | Visible when `header.divider` = `true` |

**Count and Clear button / Décompte et bouton Effacer**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `header.showCount` | Show value / selection count | Afficher le nombre de valeurs / sélection | toggle | bool | `false` | true / false |  |
| `header.showClear` | "Clear" button | Bouton « Effacer » | toggle | bool | `true` | true / false |  |
| `header.clearLabel` | Clear button label | Libellé du bouton Effacer | text | text | (empty) |  | Visible when `header.showClear` = `true` |

### Layout / Disposition (`layout`, Format pane)

**Slicer style / Style du segment**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.mode` | Style | Style | dropdown | enumeration | `dropdown` | `dropdown` Dropdown; `list` Vertical list; `tiles` Tile | Dropdown: a one-line box whose list opens on click. Vertical list: the values stay visible in the frame. Tile: one button per value, side by side (first level of a hierarchy), like the native slicer styles. |

**Dropdown menu / Menu de la liste déroulante**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.menuOpening` | Menu opening | Ouverture du menu | dropdown | enumeration | `auto` | `auto` Auto; `below` Below the box; `full` Full frame | Visible when `layout.mode` = `dropdown`. A Power BI visual cannot draw outside its frame: the menu opens inside it. To make it open over the visual below, make this visual taller, place it on top (Format › Arrange › Bring to front) and keep its background transparent. Automatic switches to full frame when there is not enough room below the box. |
| `layout.menuHeight` | Maximum menu height (px) | Hauteur maximale du menu (px) | number | integer | `300` | 80 to 1200 | Visible when `layout.menuOpening` = `auto` or `below` |
| `layout.menuWidth` | Menu width (px, 0 = box) | Largeur du menu (px, 0 = zone) | number | integer | `0` | 0 to 1200 | Visible when `layout.menuOpening` = `auto` or `below` |

**Collapsed box / Zone repliée**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.boxHeight` | Box height (px) | Hauteur de la zone (px) | number | integer | `32` | 24 to 64 | Visible when `layout.mode` = `dropdown` |
| `layout.allText` | Text when nothing is selected | Texte sans sélection | text | text | (empty) |  | Visible when `layout.mode` = `dropdown` |
| `layout.display` | Selection display | Sélection affichée | dropdown | enumeration | `values` | `values` Selected values (+n); `count` Count (3 selected) | Visible when `layout.mode` = `dropdown` |
| `layout.showClear` | Clear (×) button | Croix d'effacement | toggle | bool | `true` | true / false | Visible when `layout.mode` = `dropdown` |

**Tiles / Mosaïque**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.tileColumns` | Columns (0 = fit the width) | Colonnes (0 = selon la largeur) | number | integer | `0` | 0 to 12 | Visible when `layout.mode` = `tiles` |
| `layout.tileHeight` | Fixed button height (px, 0 = auto) | Hauteur fixe des boutons (px, 0 = auto) | number | integer | `0` | 0 to 200 | Visible when `layout.mode` = `tiles` |

### Selection / Sélection (`selection`, Format pane)

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `selection.mode` | Mode | Mode | dropdown | enumeration | `multi` | `multi` Multiple (click = toggle); `multiCtrl` Multiple with Ctrl; `single` Single value |  |
| `selection.indicator` | Indicator | Indicateur | dropdown | enumeration | `auto` | `auto` Automatic; `checkbox` Checkbox; `radio` Radio button; `none` None (highlight) |  |
| `selection.forceOne` | Always keep one value selected | Toujours une valeur sélectionnée | toggle | bool | `false` | true / false | Visible when `selection.mode` = `single` |
| `selection.selectAll` | "Select all" row | Ligne « Tout sélectionner » | toggle | bool | `false` | true / false | Visible when `selection.mode` = `multi` or `multiCtrl` |
| `selection.selectAllLabel` | "Select all" label | Libellé « Tout sélectionner » | text | text | (empty) |  | Visible when `selection.selectAll` = `true` |
| `selection.selectedFirst` | Move selection to the top | Remonter la sélection en tête | toggle | bool | `false` | true / false |  |

### Hierarchy / Hiérarchie (`hierarchy`, Format pane)

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `hierarchy.expandLevel` | Levels expanded on open | Niveaux dépliés à l'ouverture | number | integer | `0` | 0 to 5 | Drop up to 6 columns in Field to build a hierarchy (e.g. Category › Product). 1 or 2 levels are free; 3 to 6 levels are a premium feature ★. |
| `hierarchy.expandAll` | Expand all / Collapse all buttons | Boutons Tout déplier / Tout replier | toggle | bool | `false` | true / false |  |
| `hierarchy.indent` | Indent per level (px) | Retrait par niveau (px) | number | integer | `16` | 0 to 40 |  |
| `hierarchy.childCount` | Child count on parents | Nombre d'éléments des parents | toggle | bool | `false` | true / false |  |
| `hierarchy.parentInText` | Parent in the box (Parent › Value) | Parent dans la zone (Parent › Valeur) | toggle | bool | `false` | true / false | Visible when `layout.mode` = `dropdown` |
| `hierarchy.leafOnly` | Restrict to leaf nodes | Restreindre aux nœuds feuilles | toggle | bool | `false` | true / false | Like the native list slicer: parents expand but cannot be selected. |

### Values / Valeurs (`items`, Format pane)

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `items.sort` | Sort | Tri | dropdown | enumeration | `data` | `data` Model order; `labelAsc` Label A → Z; `labelDesc` Label Z → A; `valueDesc` Count, descending; `valueAsc` Count, ascending |  |
| `items.natural` | Natural sort (2 before 10) | Tri naturel (2 avant 10) | toggle | bool | `true` | true / false |  |
| `items.showValues` | Show the count | Afficher le décompte | toggle | bool | `true` | true / false |  |
| `items.units` | Display units | Unités | dropdown | enumeration | `auto` | `auto` Auto; `none` None; `k` Thousands; `m` Millions; `b` Billions | Visible when `items.showValues` = `true` |
| `items.decimals` | Decimals (-1 = auto) | Décimales (-1 = auto) | number | integer | `-1` | -1 to 6 | Visible when `items.showValues` = `true` |
| `items.empty` | Values without data | Valeurs sans données | dropdown | enumeration | `group` | `group` Grouped at the bottom, dimmed; `inline` In place, dimmed; `hide` Hidden | Needs a measure in "Count". Activate "Show items with no data" on the field to receive them. |
| `items.blankLabel` | Blank label | Libellé des vides | text | text | (empty) |  |  |
| `items.wrap` | Wrap labels | Libellés sur plusieurs lignes | toggle | bool | `false` | true / false |  |
| `items.separators` | Separators | Séparateurs | toggle | bool | `false` | true / false |  |
| `items.selectedBg` | Tinted background when selected | Fond coloré si sélectionné | toggle | bool | `true` | true / false |  |

### Search / Recherche (`search`, Format pane)

The card header toggle is `search.show`.

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `search.show` | Show | Afficher | toggle | bool | `false` | true / false |  |
| `search.placeholder` | Placeholder | Texte indicatif | text | text | (empty) |  |  |
| `search.match` | Matching | Correspondance | dropdown | enumeration | `contains` | `contains` Contains; `starts` Starts with; `words` Word start |  |
| `search.highlight` | Highlight matches | Surligner le texte trouvé | toggle | bool | `true` | true / false |  |

### Preselection / Présélection (`preselect`, Format pane)

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `preselect.when` | Apply | Appliquer | dropdown | enumeration | `session` | `session` Once per session; `always` Reapply on every display | Drop in "Preselection" a measure that returns a value or a list ("Paris;Lyon"): the slicer selects it when the report opens. Premium feature ★. |
| `preselect.force` | Force | Forcer | toggle | bool | `false` | true / false | Replaces an existing selection: saved in the report, recalled by a bookmark or by persistent filters. Otherwise it is kept. |
| `preselect.separator` | Value separator | Séparateur des valeurs | text | text | `;` |  |  |
| `preselect.warn` | Report values not found (edit mode) | Signaler les valeurs introuvables (mode édition) | toggle | bool | `true` | true / false |  |

### Frame / Cadre (`container`, Format pane)

**Background / Arrière-plan**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.bgShow` | Background | Arrière-plan | toggle | bool | `false` | true / false |  |
| `container.bgColor` | Color | Couleur | color | fill | `#FFFFFF` | hex color | Visible when `container.bgShow` = `true` |
| `container.bgColor2` | Gradient end (optional) | Fin du dégradé (optionnel) | color | fill | (empty) | hex color | Visible when `container.bgShow` = `true` |
| `container.bgTransparency` | Transparency (%) | Transparence (%) | slider | numeric | `0` | 0 to 100 | Visible when `container.bgShow` = `true` |
| `container.transparent` | Transparent background | Fond transparent | toggle | bool | `true` | true / false | The visual lets what is behind it show through (useful for a dropdown placed over another visual). |

**Border / Bordure**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.border` | Border | Bordure | toggle | bool | `false` | true / false |  |
| `container.borderColor` | Color (empty = lines) | Couleur (vide = traits) | color | fill | (empty) | hex color | Visible when `container.border` = `true` |
| `container.borderWidth` | Width | Épaisseur | number | integer | `1` | 0 to 6 | Visible when `container.border` = `true` |
| `container.radius` | Rounded corners | Coins arrondis | number | integer | `8` | 0 to 24 |  |

**Shadow / Ombre**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.shadow` | Shadow | Ombre | toggle | bool | `false` | true / false |  |
| `container.shadowColor` | Color (empty = soft) | Couleur (vide = douce) | color | fill | (empty) | hex color | Visible when `container.shadow` = `true` |
| `container.shadowSize` | Blur (px) | Flou (px) | number | integer | `12` | 0 to 40 | Visible when `container.shadow` = `true` |

**Spacing / Marges**

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.padding` | Inner padding | Marge intérieure | number | integer | `2` | 0 to 40 |  |

### Language and numbers / Langue et nombres (`texts`, Format pane)

| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `texts.language` | Interface language | Langue de l'interface | dropdown | enumeration | `auto` | `auto` Same as Power BI; `fr` French; `en` English |  |
| `texts.numberLocale` | Number format locale (e.g. en-GB) | Format des nombres (ex. fr-FR) | text | text | (empty) |  | Thousands and decimal separators. Empty: same as Power BI. |

### Other objects (not in the Format pane cards above)

- `dropdown`: `dropdown.layout` (enumeration), `dropdown.menuOpening` (enumeration), `dropdown.menuHeight` (integer), `dropdown.menuWidth` (integer), `dropdown.boxHeight` (integer), `dropdown.allText` (text), `dropdown.display` (enumeration), `dropdown.showClear` (bool).
- `general`: `general.filter` (filter), used by Power BI to store the filter applied by the visual.