Ruden Format i brugerdefinerede visualiseringer i Power BI
Fra og med API version 5.1 kan udviklere oprette visualiseringer, der bruger nye rude i Power-format. Udviklere kan definere kortene og deres kategorier for en hvilken som helst egenskab i deres brugerdefinerede visualisering, hvilket gør det nemmere for rapportoprettere at bruge disse visualiseringer.
Den nye API bruger metoden FormattingModel til at tilpasse dele af format- og analyseruderne.
Drikkepenge
Metoden getFormattingModel
erstatter metoden enumerateObjectInstances
i tidligere API-versioner.
getFormattingModel
returnerer en FormattingModel
, der definerer, hvordan visualiseringens formaterings- og analyserude ser ud.
Ud over alle de gamle formateringsrudefunktioner understøtter nye formateringsmodel nye formateringsrudeegenskaber, nye egenskaber og nye hierarkier.
Opret en visualisering, der understøtter den nye formatrude
Generelle trin til at føje understøttelse af den nye formatrude til en brugerdefineret visualisering:
Angiv
apiVersion
i din pbiviz.json-fil til5.1
eller nyere.Definer alle de
objects
, der kan tilpasses, i din capabilities.json-fil. Disse objekter knyttes derefter til egenskaberne i formateringsruden. Følgende egenskaber er påkrævet for hvert objekt:- objektnavn
- egenskabsnavn
- egenskabstype
Alle andre egenskaber, herunder
DisplayName
ogdescription
, er nu valgfrie.Opret den brugerdefinerede visualisering FormattingModel ved at gøre én af følgende:
- Brug formateringsmodelhjælpeprogrammer. (anbefalet)
- Brug kun API'er uden dette hjælpeelement.
Definer egenskaberne for din brugerdefinerede visualformateringsmodel, og byg den ved hjælp af kode (ikke JSON).
- Implementer
getFormattingModel
-API'en i den brugerdefinerede visualiseringsklasse, der returnerer en brugerdefineret visualiseringsformateringsmodel. (Denne API erstatter deenumerateObjectInstances
, der blev brugt i tidligere versioner).
Eksempel på implementering af formateringsmodel
- Formateringsmodel ved hjælp af formateringsmodelhjælpe eksempel. (anbefalet)
- Formateringsmodel, der kun bruger API'er eksempel.
Tilknyt formateringsegenskaber
Hvis du har en brugerdefineret visualisering, der er oprettet med en ældre API, og du vil migrere til den nye formatrude, eller hvis du opretter en ny brugerdefineret visualisering:
Angiv
apiVersion
i din pbiviz.json-fil til5.1
eller nyere.Opret en tilsvarende formateringsegenskab for hvert objektnavn og egenskabsnavn i capabilities.json. Formateringsegenskaben skal have en beskrivelse, der indeholder en
objectName
ogpropertyName
, der svarer til objektnavnet og egenskabsnavnet i capabilities.json.
De objects
egenskaber i egenskabsfilen har stadig samme format og behøver ikke at blive ændret.
Hvis circle
-objektet i din capabilities.json-fil f.eks. er defineret på følgende måde:
"objects": {
"circle": {
"properties": {
"circleColor": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
},
}
}
}
Formateringsegenskaben i din model skal være af typen ColorPicker
og se sådan ud:
control: {
type: "ColorPicker",
properties: {
descriptor: {
objectName: "circle",
propertyName: "circleColor"
},
value: {
value: this.visualSettings.circle.circleColor
}
}
}
Du får vist en fejl, hvis en af følgende betingelser er opfyldt:
- Objekt- eller egenskabsnavnet i egenskabsfilen stemmer ikke overens med navnet i formateringsmodellen
- Egenskabstypen i egenskabsfilen svarer ikke til typen i formateringsmodellen
Formateringsmodel
Formateringsmodellen er stedet, hvor du beskriver og tilpasser alle egenskaberne i formateringsruden.
Formatering af modelkomponenter
I den nye formateringsmodel er egenskabskomponenter grupperet i logiske kategorier og underkategorier. Disse grupper gør det nemmere at scanne modellen. Der er de fem grundlæggende komponenter, fra største til mindste:
Formateringsmodel Den største rudeobjektbeholder, der bruges til at formatere rudens frontale grænseflade. Den indeholder en liste over formateringskort.
Formateringskort Objektbeholderen til gruppering af formateringsegenskaber på øverste niveau. Hvert kort består af en eller flere formateringsgrupper, som vist her.
formateringsgruppe
Objektbeholderen til gruppering af egenskaber på sekundært niveau. Formateringsgruppen vises som en grupperingsobjektbeholder til formateringsudsnit.formateringsobjektbeholder
Objektbeholderen til gruppering af egenskaber på sekundært niveau. Formateringsobjektbeholderen grupperer formateringsudsnit i separate objektbeholderelementer og gør det muligt at skifte mellem dem ved hjælp af en rulleliste.formateringsudsnit
Egenskabsbeholder. Der er to typer udsnit:- Simpelt udsnit: Objektbeholder for individuel egenskab
- sammensat udsnit: Flere relaterede egenskabsbeholdere grupperet i ét formateringsudsnit
På følgende billede vises de forskellige typer udsnit. "Font" er et sammensat udsnit, der består af skrifttypefamilie, størrelse og fed, kursiv og understregningsparametre. "Farve", "visningsenheder" og de andre udsnit er enkle udsnit med én komponent hver.
Formateringsegenskaber for ruden Visualiseringer
Hver egenskab i formateringsmodellen skal matche og objekttypen i filen capabilities.json.
I følgende tabel vises formateringsegenskabstyperne i capabilities.json fil og deres tilsvarende typeklasse i moderne formateringsmodelegenskaber:
Slags | Værditype for egenskaber | Formateringsegenskab |
---|---|---|
Boolesk | Bool | ToggleSwitch |
Tal | ||
Optællingsliste | optælling:[] | |
Farve | Fylde | |
Stigning | FillRule | GradientBar: Egenskabsværdien skal være en streng, der består af: minValue[,midValue],maxValue |
Tekst | Tekst |
Egenskaber Til formatering af objekter
Slags | Værditype for egenskaber | Formateringsegenskab |
---|---|---|
Skrifttypestørrelse | Skrifttypestørrelse | NumUpDown |
Skrifttypefamilie | FontFamily | FontPicker- |
Stregjustering | Justering | justeringsgruppe |
Enheder til visning af navne | LabelDisplayUnits | Automatisk nedskrivning |
* Egenskaben for formatering af optællingslisten er forskellig i formateringsmodellen og i egenskabsfilen.
Deklarer følgende egenskaber i klassen formateringsindstillinger, herunder listen over optællingselementer:
- Elementdropdown
- ItemFlagsSelection
Deklarer følgende egenskaber i klassen formateringsindstillinger uden listen over optællingselementer. Deklarer listen over optællingselementer i capabilities.json under det relevante objekt. (Disse typer er de samme som i de tidligere API-versioner):
- Automatisk nedskrivning
- AutoflagSelection
Egenskaber for sammensatte udsnit
Et sammensat formateringsudsnit er et formateringsudsnit, der indeholder flere relaterede egenskaber.
Indtil videre har vi to sammensatte udsnitstyper:
FontControl-
Dette holder alle skrifttyperelaterede egenskaber sammen. Den består af følgende egenskaber:- Skrifttypefamilie
- Skrifttypestørrelse
- Fed [valgfri]
- Kursiv [valgfri]
- Understregning [valgfri]
Hver af disse egenskaber skal have et tilsvarende objekt i egenskabsfilen:
Egenskab Type af egenskaber Formateringstype Skrifttypefamilie Formatering: { fontFamily} FontPicker Skrifttypestørrelse Formatering: {fontSize} NumUpDown Modig Bool Slå Til/fra-knap til/fra Kursiv Bool Slå Til/fra-knap til/fra Understrege Bool Slå Til/fra-knap til/fra MarginPadding margenmargen bestemmer justeringen af teksten i visualiseringen. Den består af følgende egenskaber:
- Venstre
- Højre
- Top
- Bund
Hver af disse egenskaber skal have et tilsvarende objekt i egenskabsfilen:
Egenskab Type af egenskaber Formateringstype Venstre Numerisk NumUpDown Højre Numerisk NumUpDown Top Numerisk NumUpDown Bund Numerisk NumUpDown
GitHub-ressourcer
Alle grænseflader til formateringsmodel kan findes i GitHub – microsoft/powerbi-visuals-api: API til brugerdefinerede Power BI-visualiseringer i "formatting-model-api.d.ts"
Vi anbefaler, at du bruger de nye formateringsmodelhjælpeprogrammer på GitHub – microsoft/powerbi-visuals-utils-formattingmodel: Hjælpeprogrammer til formatering af Power BI-visualiseringer
Du kan finde et eksempel på en brugerdefineret visualisering SampleBarChart-, der bruger API version 5.1.0 og implementerer
getFormattingModel
ved hjælp af de nye formateringsmodelhjælpeprogrammer på GitHub – microsoft/PowerBI-visuals-sampleBarChart: Brugerdefineret visualisering i søjlediagram til selvstudium.
Relateret indhold
Flere spørgsmål? Spørg Power BI-community'et