Skip to main content
cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
julip
New Contributor

Data bound settings/objects with Table DataViewMapping

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?

0 REPLIES 0

Helpful resources

Announcements
Users online (3,586)