0

I'm doing some custom R HTML visuals in Power BI. I can get a number input in Power BI by adding

    "TestNumeric": {
      "displayName": "Number",
      "description": "test number",
      "type": {
        "numeric": true
      }
    }

in capabilities.json (and adapting src/settings.ts accordingly).

I would like to constrain this number input with a minimum and a maximum value. How can I do that?

Stéphane Laurent
  • 75,186
  • 15
  • 119
  • 225

1 Answers1

0

I've found a solution. One has to modify the file src/visual.ts.

At the beginning, in the block of imports, add this import:

import VisualObjectInstanceEnumeration = powerbi.VisualObjectInstanceEnumeration;

Then, at the end, replace the function enumerateObjectInstances with:

public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration {

    var enumeratedObjects: VisualObjectInstanceEnumerationObject =
        <VisualObjectInstanceEnumerationObject>VisualSettings.enumerateObjectInstances(
            this.settings || VisualSettings.getDefault(), options
        );

    if (options.objectName === "YOUR_OBJECT_NAME") {
        enumeratedObjects.instances[0].validValues = {
            YOUR_PROPERTY_NAME: { numberRange: { min: 8, max: 20 } }
        };
    }

    return enumeratedObjects;
}
Stéphane Laurent
  • 75,186
  • 15
  • 119
  • 225