Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
I don't find a way to implement dataBound settings on for table dataViewMapping. My data is simplified and changed to a table of fruits saled in countries:
Capabilities:
{
"privileges": [],
"objects": {
"dataItem": {
"properties": {
"color": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
}
}
}
},
"dataRoles": [
{
"displayName": "Country",
"name": "country",
"kind": "Grouping"
},
{
"displayName": "Fruit",
"name": "fruit",
"kind": "Grouping"
},
{
"displayName": "Saled pieces",
"name": "saleCount",
"kind": "Measure"
}
],
"dataViewMappings": [
{
"table": {
"rows": {
"select": [
{
"for": {
"in": "country"
}
},
{
"for": {
"in": "fruit"
}
},
{
"for": {
"in": "saleCount"
}
}
]
}
}
}
],
"sorting": {
"implicit": {
"clauses": []
}
}
}
visual.ts
class MyVisual {
public getFormattingModel(): powerbi.visuals.FormattingModel {
return {
cards: [
{
displayName: "Fruit Card",
uid: "card",
groups: [
this.data
.getFruitTypes()
.map(({ fruit, fruitTypeSelectionId, color }) => ({
uid: fruit,
displayName: fruit,
slices: [
{
uid: "sliceid",
displayName: "Color",
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "dataItem",
propertyName: "color",
altConstantValueSelector:
fruitTypeSelectionId.getSelector(),
selector: fruitTypeSelectionId.getSelector(),
},
value: { value: color },
},
},
},
],
})),
],
},
],
};
}
}
and my DataViewModel sth. like this
export class Data {
static fromDataView = (dataView: DataView, host: IVisualHost) => {
const fruitTypes = [];
dataView.table.rows.forEach((row) => {
if (fruitTypeDoesNotExist(row, fruitTypes)) {
fruitTypes.push({
color:
someSelectFunctionToRetrieveTheFruitColorFromDataView(dataView),
fruitTypeSelectionId: host
.createSelectionIdBuilder()
.withMeasure(selectFruitName(row))
.createSelectionId(),
fruit: selectFruitName(row),
});
}
});
return new Data(fruitTypes /* ... */);
};
}I dont't find any documentation on how to choose the selector and on how to create selectionIds for table DataViewMappings.
Can you please help?