Mogelijkheden en eigenschappen van Power BI-visuals

Elke visual heeft een capabilities.json-bestand dat automatisch wordt gemaakt wanneer u de pbiviz new <visual project name> opdracht uitvoert om een nieuwe visual te maken. Het capabilities.json-bestand beschrijft de visual voor de host.

Het capabilities.json-bestand vertelt de host welk soort gegevens de visual accepteert, welke aanpasbare kenmerken in het deelvenster Eigenschappen moeten worden geplaatst en andere informatie die nodig is om de visual te maken. Vanaf API v4.6.0 zijn alle eigenschappen van het mogelijkhedenmodel optioneel, behalve privileges, die vereist zijn.

Het bestand capabilities.json bevat de hoofdobjecten in de volgende indeling:

{
    "privileges": [ ... ],
    "dataRoles": [ ... ],
    "dataViewMappings": [ ... ],
    "objects":  { ... },
    "supportsHighlight": true|false,
    "advancedEditModeSupport": 0|1|2,
    "sorting": { ... }
    ...
}

Wanneer u een nieuwe visual maakt, bevat het standaardbestand capabilities.json de volgende hoofdobjecten:

De bovenstaande objecten zijn de objecten die nodig zijn voor gegevensbinding. Ze kunnen indien nodig worden bewerkt voor uw visual.

De volgende extra hoofdobjecten zijn optioneel en kunnen indien nodig worden toegevoegd:

U vindt al deze objecten en de bijbehorende parameters in het capabilities.json-schema

bevoegdheden: definieer de speciale machtigingen die uw visual nodig heeft

Bevoegdheden zijn speciale bewerkingen waarvoor uw visual toegang nodig heeft om te kunnen werken. Bevoegdheden nemen een matrix van objecten op, waarmee alle eigenschappen van privilege bevoegdheden worden gedefinieerd. In de volgende secties worden de bevoegdheden beschreven die beschikbaar zijn in Power BI.

Notitie

Vanuit API v4.6.0 moeten bevoegdheden worden opgegeven in het capabilities.json-bestand. In eerdere versies wordt externe toegang automatisch verleend en is het downloaden naar bestanden niet mogelijk. Als u wilt achterhalen welke versie u gebruikt, controleert u het apiVersion bestand in het pbiviz.json .

Bevoegdheden definiëren

Een JSON-bevoegdheidsdefinitie bevat deze onderdelen:

  • name - (tekenreeks) De naam van de bevoegdheid.
  • essential - (Booleaanse waarde) Geeft aan of voor de visuele functionaliteit deze bevoegdheid is vereist. Een waarde van de waarde van true de bevoegdheid is vereist. false Dit betekent dat de bevoegdheid niet verplicht is.
  • parameters - (tekenreeksmatrix)(optioneel) Argumenten. Als parameters deze ontbreekt, wordt deze beschouwd als een lege matrix.

Hier volgen typen bevoegdheden die moeten worden gedefinieerd:

Notitie

Zelfs met deze bevoegdheden die zijn verleend in de visual, moet de beheerder de schakeloptie inschakelen in de beheerinstellingen zodat personen in hun organisatie kunnen profiteren van deze instellingen.

Webtoegang toestaan

Als u een visual toegang wilt geven tot een externe resource of website, voegt u die informatie toe als een bevoegdheid in de sectie mogelijkheden. De bevoegdheidsdefinitie bevat een optionele lijst met URL's waartoe de visual toegang heeft in de indeling http://xyz.com of https://xyz.com. Elke URL kan ook een jokerteken bevatten om subdomeinen op te geven.

Hier volgt een voorbeeld van een instelling voor bevoegdheden waarmee toegang tot externe resources wordt toegestaan:

{
    "name": "WebAccess",
    "essential": true,
    "parameters": [ "https://*.microsoft.com", "http://example.com" ]
}

De voorgaande WebAccess bevoegdheid betekent dat de visual alleen toegang moet hebben tot elk subdomein van het domein via het microsoft.com HTTPS-protocol en example.com zonder subdomeinen via HTTP, en dat deze toegangsbevoegdheden essentieel zijn om de visual te laten werken.

Downloaden naar bestand

Als u wilt dat de gebruiker gegevens uit een visual naar een bestand kan exporteren, stelt u in op ExportContenttrue.

Met deze ExportContent instelling kan de visual gegevens exporteren naar bestanden in de volgende indelingen:

  • .txt
  • .Csv
  • .Json
  • .tmplt
  • .xml
  • .pdf
  • .xlsx

Deze instelling is gescheiden van en wordt niet beïnvloed door downloadbeperkingen die zijn toegepast in de tenantinstellingen voor exporteren en delen van de organisatie.

Hier volgt een voorbeeld van een instelling voor bevoegdheden waarmee het downloaden naar een bestand mogelijk is:

"privileges": [
    {
        "name": "ExportContent",
        "essential": true
    }
]

Lokale opslagbevoegdheden

Met deze bevoegdheid kan een aangepast visueel element informatie opslaan in de lokale browser van de gebruiker.

Hier volgt een voorbeeld van een instelling voor bevoegdheden die het gebruik van de lokale opslag toestaat:

"privileges": [
    {
        "name": "LocalStorage",
        "essential": true
    }
]

Geen bevoegdheden nodig

Als voor de visual geen speciale machtigingen zijn vereist, moet de privileges matrix leeg zijn:

  "privileges": []

Meerdere bevoegdheden

In het volgende voorbeeld ziet u hoe u verschillende bevoegdheden voor een aangepaste visual instelt.

"privileges": [
    {
        "name": "WebAccess",
        "essential": true,
        "parameters": [ "https://*.virtualearth.net" ]
    },
    {
        "name": "ExportContent",
        "essential": false
    }
]

dataroles: de gegevensvelden definiëren die uw visual verwacht

Als u velden wilt definiëren die aan gegevens kunnen worden gebonden, gebruikt dataRolesu . dataRoles is een matrix met DataViewRole objecten, die alle vereiste eigenschappen definieert. De dataRoles objecten zijn de velden die worden weergegeven in het deelvenster Eigenschappen.

De gebruiker sleept gegevensvelden naar deze velden om de gegevensvelden aan de objecten te binden.

DataRole-eigenschappen

DataRoles worden gedefinieerd door de volgende eigenschappen:

  • name: De interne naam van dit gegevensveld (moet uniek zijn).
  • displayName: de naam die wordt weergegeven aan de gebruiker in het deelvenster Eigenschappen .
  • soort: Het type veld:
    • Grouping: Set discrete waarden die worden gebruikt om maateenheidvelden te groeperen.
    • Measure: Enkele numerieke waarden.
    • GroupingOrMeasure: Waarden die kunnen worden gebruikt als een groepering of een meting.
  • beschrijving: Een korte tekstbeschrijving van het veld (optioneel).
  • requiredTypes: het vereiste gegevenstype voor deze gegevensrol. Waarden die niet overeenkomen, worden ingesteld op null (optioneel).
  • preferredTypes: het voorkeurstype gegevens voor deze gegevensrol (optioneel).

Geldige gegevenstypen voor requiredTypes en preferredTypes

  • bool: Een Booleaanse waarde
  • geheel getal: een geheel getal
  • numeriek: een numerieke waarde
  • tekst: een tekstwaarde
  • geografie: een geografische gegevens

voorbeeld dataRoles

"dataRoles": [
    {
        "displayName": "My Category Data",
        "name": "myCategory",
        "kind": "Grouping",
        "requiredTypes": [
            {
                "text": true
            },
            {
                "numeric": true
            },
            {
                "integer": true
            }
        ],
        "preferredTypes": [
            {
                "text": true
            }
        ]
    },
    {
        "displayName": "My Measure Data",
        "name": "myMeasure",
        "kind": "Measure",
        "requiredTypes": [
            {
                "integer": true
            },
            {
                "numeric": true
            }
        ],
        "preferredTypes": [
            {
                "integer": true
            }
        ]
    }
]
...
}

Met de voorgaande gegevensrollen worden de velden gemaakt die in de volgende afbeelding worden weergegeven:

Data role fields

dataViewMappings: hoe u de gegevens wilt toewijzen

In dataViewMappings de objecten wordt beschreven hoe de gegevensrollen met elkaar zijn verbonden en kunt u voorwaardelijke vereisten opgeven voor de weergave van gegevensweergaven.

De meeste visuals bieden één toewijzing, maar u kunt meerdere dataViewMappings opgeven. Elke geldige toewijzing produceert een gegevensweergave.

"dataViewMappings": [
    {
        "conditions": [ ... ],
        "categorical": { ... },
        "table": { ... },
        "single": { ... },
        "matrix": { ... }
    }
]

Zie Inzicht in toewijzing van gegevensweergaven in Power BI-visuals voor meer informatie.

objecten: opties voor eigenschappenvensters definiëren

Objecten beschrijven aanpasbare eigenschappen die zijn gekoppeld aan de visual. De objecten die in deze sectie zijn gedefinieerd, zijn de objecten die worden weergegeven in het deelvenster Opmaak. Elk object kan meerdere eigenschappen hebben en elke eigenschap heeft een type dat eraan is gekoppeld.

"objects": {
    "myCustomObject": {
        "properties": { ... }
    }
}

Als u bijvoorbeeld tekenreeksen met dynamische opmaak in uw aangepaste visual wilt ondersteunen, definieert u het volgende object:

"objects": {
        "general": {
            "properties": {
                "formatString": {
                    "type": {
                        "formatting": {
                            "formatString": true
                        }
                    }
                }
            }
        },

Zie Objecten en eigenschappen van Power BI-visuals voor meer informatie.