Del via


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.

Skærmbillede af den nye formateringsrude.

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:

  1. Angiv apiVersion i din pbiviz.json-fil til 5.1 eller nyere.

  2. 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 og description, er nu valgfrie.

  3. Opret den brugerdefinerede visualisering FormattingModel ved at gøre én af følgende:

Definer egenskaberne for din brugerdefinerede visualformateringsmodel, og byg den ved hjælp af kode (ikke JSON).

  1. Implementer getFormattingModel-API'en i den brugerdefinerede visualiseringsklasse, der returnerer en brugerdefineret visualiseringsformateringsmodel. (Denne API erstatter de enumerateObjectInstances, der blev brugt i tidligere versioner).

Eksempel på implementering af formateringsmodel

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:

  1. Angiv apiVersion i din pbiviz.json-fil til 5.1 eller nyere.

  2. Opret en tilsvarende formateringsegenskab for hvert objektnavn og egenskabsnavn i capabilities.json. Formateringsegenskaben skal have en beskrivelse, der indeholder en objectName og propertyName, 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.

    Skærmbillede af formateringsmodel med individuelle formateringskort.

  • formateringsgruppe
    Objektbeholderen til gruppering af egenskaber på sekundært niveau. Formateringsgruppen vises som en grupperingsobjektbeholder til formateringsudsnit.

    Skærmbillede af formateringskort, der er opdelt i formateringsgrupper.

  • 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.

    Skærmbillede af formateringsobjektbeholder.

  • 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.

    Skærmbillede af formatrude sammensat og enkle udsnit.

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
  • numerisk
  • heltal
  • NumUpDown-
  • skyder
  • Optællingsliste optælling:[]
  • ItemDropdown-
  • ItemFlagsSelection
  • AutoDropdown-
  • AutoflagsSelection-
  • * Se note nedenfor
    Farve Fylde ColorPicker
    Stigning FillRule GradientBar: Egenskabsværdien skal være en streng, der består af: minValue[,midValue],maxValue
    Tekst Tekst
  • TextInput-
  • tekstområde
  • 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]

      Skærmbillede af skrifttypekompetent udsnit med skrifttypefamilie, skriftstørrelse, fed, kursiv og understregningsindstillinger.

      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

    Flere spørgsmål? Spørg Power BI-community'et