Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I am creating a cusotm visual and want to add some formatting options. I've followed the guide in the custom visual documentation. As I understand it, if I add objects to the capabilities file it should show up in the formatting panel. Below is my code, I'm not sure why it doens't work.
Any insight is greatly appreciated.
{
"dataRoles": [
{
"displayName": "Date",
"name": "categories",
"kind": "Grouping",
"description": "Add a date-type column"
},
{
"displayName": "Max Date Column",
"name": "max date",
"kind": "Grouping",
"description": "Add column that contains max date"
}
],
"objects": {
"general": {
"displayName": "General",
"displayNameKey": "formattingGeneral",
"properties": {
"filter": {
"type": {
"filter": true
}
},
"selfFilter": {
"type": {
"filter": {
"selfFilter": true
}
}
}
}
},
"buttonTypes": {
"displayName": "BoB Buttons",
"displayNameKey": "Visual_Buttons",
"properties": {
"show": {
"displayName": "Show",
"displayNameKey": "Visual_Show",
"type": {
"bool": true
}
}
}
}
},
"dataViewMappings": [
{
"conditions": [
{
"categories": {
"max": 1
}
}
],
"categorical": {
"categories": {
"select": [
{
"for": {
"in": "categories"
}
}
],
"dataReductionAlgorithm": {
"window": {
"count": 30000
}
}
}
}
}
],
"privileges": [],
"supportsHighlight": true,
"supportsLandingPage": true,
"suppressDefaultTitle": true,
"supportsSynchronizingFilterState": true,
"supportsKeyboardFocus": true
}
Hi @kpia,
Capabilities are added to tell Power BI what objects and properties your visual will want to persist to the report for later retrieval. However, to display them for the user, you will need to write the necessary code to do so.
This code will typically include classes that match the structure of your capabilities (a class instance for each object and each class has to have properties with default values instantiated) and suitable logic to handle things that are not defined in the capabilities, such as enabling/disabling other properties based on what you choose in others or performing validation.
The Objects and Properties page in the developer documentation has a section that details how to get started with the code necessary for populating the formatting pane. Suppose you've created a brand new visual using powerbi-visuals-tools. In that case, there is usually a VisualSettings.ts (or similar file) that is generated, showing the necessary structure needed to match the capabilities that are generated from the template, and this may help you to get started.
Good luck!
Daniel
Proud to be a Super User!
On how to ask a technical question, if you really want an answer (courtesy of SQLBI)
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.