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:
- verktøytips
- supportsHighlight
- sortering
- neddrilling
- utvidCollapse
- supportsKeyboardFocus
- støtterSynchronizingFilterState
- advancedEditModeSupport
- supportsLandingPage
- supportsEmptyDataView
- supportsMultiVisualSelection
- Delsummer
- beholdAllMetadataColumns
- migrasjon
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 avtrue
betyr at rettigheten er obligatorisk.false
Betyr at rettigheten ikke er obligatorisk.parameters
- (strengmatrise)(valgfritt) Argumenter. Hvisparameters
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 kode 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
- .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 kode 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 dataRoles
du . 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
Definer dataroles med 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:
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 tilknyttet type.
"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.