Funksjoner og egenskaper for Power BI-visualobjekter

Hvert visualobjekt har en capabilities.json fil som opprettes automatisk når du kjører pbiviz new <visual project name> kommandoen for å opprette et nytt visualobjekt. Den capabilities.json filen beskriver visualobjektet for verten.

Den capabilities.json filen forteller verten hva slags data visualobjektet godtar, hvilke attributter som kan tilpasses, og annen informasjon som kreves for å opprette visualobjektet. Fra og med API v4.6.0 er alle egenskaper på egenskapsmodellen valgfrie unntatt privileges, som kreves.

Filen capabilities.json viser rotobjektene i følgende format:

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

Når du oppretter et nytt visualobjekt, inneholder standard capabilities.json fil følgende rotobjekter:

Objektene ovenfor er de som kreves for databinding. De kan redigeres etter behov for visualobjektet.

Følgende andre rotobjekter er valgfrie og kan legges til etter behov:

Du kan finne alle disse objektene og parameterne i capabilities.json-skjemaet

rettigheter: definer de spesielle tillatelsene som visualobjektet krever

Rettigheter er spesielle operasjoner visualobjektet krever tilgang til for å kunne fungere. Rettigheter tar en matrise med privilege objekter, som definerer alle rettighetsegenskaper. Avsnittene nedenfor beskriver rettighetene som er tilgjengelige i Power BI.

Merk

Fra API v4.6.0 må rettigheter angis i capabilities.json-filen. I tidligere versjoner gis ekstern tilgang automatisk, og nedlasting til filer er ikke mulig. Hvis du vil finne ut hvilken versjon du bruker, kan du se apiVersion i pbiviz.json-filen .

Definer rettigheter

En JSON-rettighetsdefinisjon inneholder disse komponentene:

  • name - (streng) Navnet på rettigheten.
  • essential - (Boolsk) Angir om visualobjektfunksjonaliteten krever denne rettigheten. En verdi av true betyr at rettigheten er obligatorisk. false Betyr at rettigheten ikke er obligatorisk.
  • parameters - (strengmatrise)(valgfritt) Argumenter. Hvis parameters mangler, regnes den som en tom matrise.

Følgende er typer rettigheter som må defineres:

Merk

Selv med disse rettighetene som gis i visualobjektet, må administratoren aktivere bryteren i administratorinnstillingene slik at personer i organisasjonen kan dra nytte av disse innstillingene.

Tillat webtilgang

Hvis du vil gi et visualobjekt tilgang til en ekstern ressurs eller et webområde, legger du til denne informasjonen som en rettighet i egenskapsdelen. Rettighetsdefinisjonen inneholder en valgfri liste over URL-adresser som visualobjektet har tilgang til i formatet http://xyz.com eller https://xyz.com. Hver URL-adresse kan også inneholde et jokertegn for å angi underdomener.

Følgende er et eksempel på rettigheter som gir tilgang til eksterne ressurser:

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

Den foregående WebAccess rettigheten betyr at visualobjektet må få tilgang til et hvilket som helst underdomene microsoft.com i domenet via HTTPS-protokollen og example.com uten underdomener via HTTP, og at denne tilgangsrettigheten er avgjørende for at visualobjektet skal fungere.

Last ned til fil

Hvis du vil tillate at brukeren eksporterer data fra et visualobjekt til en fil, setter du ExportContent til true.

Denne ExportContent innstillingen gjør det mulig for visualobjektet å eksportere data til filer i følgende formater:

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

Denne innstillingen er atskilt fra og ikke påvirket av nedlastingsbegrensninger som brukes i organisasjonens innstillinger for eksport og deling av leier.

Følgende er et eksempel på en innstilling for rettigheter som tillater nedlasting til en fil:

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

Lokale lagringsrettigheter

Med denne rettigheten kan et egendefinert visualobjekt lagre informasjon i brukerens lokale nettleser.

Følgende er et eksempel på en innstilling for rettigheter som tillater bruk av den lokale lagringsplassen:

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

Ingen rettigheter er nødvendig

Hvis visualobjektet ikke krever spesielle tillatelser, bør matrisen privileges være tom:

  "privileges": []

Flere rettigheter

Følgende eksempel viser hvordan du angir flere rettigheter for et egendefinert visualobjekt.

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

dataroles: definer datafeltene som visualobjektet forventer

Hvis du vil definere felt som kan bindes til data, bruker dataRolesdu . dataRoles er en matrise med DataViewRole objekter, som definerer alle de nødvendige egenskapene. Objektene dataRoles er feltene som vises i Egenskaper-ruten.

Brukeren drar datafelt til dem for å binde data til datafeltene til objektene.

Egenskaper for DataRole

DataRoles defineres av følgende egenskaper:

  • navn: Det interne navnet på dette datafeltet (må være unikt).
  • displayName: Navnet som vises for brukeren i Egenskaper-ruten .
  • type: Typen felt:
    • Grouping: Sett med diskrete verdier som brukes til å gruppere målfelt.
    • Measure: Enkle numeriske verdier.
    • GroupingOrMeasure: Verdier som kan brukes som enten gruppering eller mål.
  • beskrivelse: En kort tekstbeskrivelse av feltet (valgfritt).
  • requiredTypes: Den nødvendige datatypen for denne datarollen. Verdier som ikke samsvarer, er satt til null (valgfritt).
  • preferredTypes: Den foretrukne datatypen for denne datarollen (valgfritt).

Gyldige datatyper for obligatoriske Typer og preferredTypes

  • bool: En boolsk verdi
  • heltall: En heltallsverdi
  • numerisk: En numerisk verdi
  • tekst: En tekstverdi
  • geografi: Geografiske data

eksempel på 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
            }
        ]
    }
]
...
}

De foregående datarollene oppretter feltene som vises i følgende bilde:

Data role fields

dataViewMappings: hvordan du vil at dataene skal tilordnes

Objektene dataViewMappings beskriver hvordan datarollene er relatert til hverandre, og lar deg angi betingede krav for visning av datavisninger.

De fleste visualobjekter gir én enkelt tilordning, men du kan angi flere dataViewMappings. Hver gyldige tilordning produserer en datavisning.

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

Hvis du vil ha mer informasjon, kan du se Forstå datavisningstilordning i Power BI-visualobjekter.

objekter: definere alternativer for egenskapsrute

Objekter beskriver egenskaper som kan tilpasses, som er knyttet til visualobjektet. Objektene som er definert i denne inndelingen, er objektene som vises i Format-ruten. Hvert objekt kan ha flere egenskaper, og hver egenskap har en type som er knyttet til det.

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

Hvis du for eksempel vil støtte dynamiske formatstrenger i det egendefinerte visualobjektet, definerer du følgende objekt:

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

Hvis du vil ha mer informasjon, kan du se Objekter og egenskaper for Power BI-visualobjekter.