Power BI:n visualisointien objektit ja ominaisuudet
Objektit kuvailevat visualisointiin liittyviä mukautettavia ominaisuuksia. Objektilla voi olla useita ominaisuuksia, ja jokaiseen ominaisuuteen liittyy tyyppi, joka kuvaa, mikä ominaisuus on. Tässä artikkelissa on tietoja objekteista ja ominaisuustyypeistä.
myCustomObject
on sisäinen nimi, jota käytetään viittaamaan objektiin kohteessa dataView
.
"objects": {
"myCustomObject": {
"properties": { ... }
}
}
Näyttönimi ja kuvaus
Muistiinpano
Näyttönimi ja kuvaus ovat vanhentuneet ohjelmointirajapinnan versiosta 5.1+. Näyttönimi ja kuvaus lisätään nyt muotoilumalliin capabilities.json-tiedoston sijaan.
displayName
on nimi, joka näkyy ominaisuusruudussa.
description
on muotoiluominaisuuden kuvaus, joka näytetään käyttäjälle työkaluvihjeenä.
Ominaisuudet
properties
on kehittäjän määrittämien ominaisuuksien kartta.
"properties": {
"myFirstProperty": {
"type": ValueTypeDescriptor | StructuralTypeDescriptor
}
}
Muistiinpano
show
on erityinen ominaisuus, jonka avulla valitsin voi vaihtaa objektin.
Esimerkki:
"properties": {
"show": {
"type": {"bool": true}
}
}
Ominaisuustyypit
Ominaisuustyyppejä on kaksi: ValueTypeDescriptor
ja StructuralTypeDescriptor
.
Arvotyyppikuvaaja
ValueTypeDescriptor
-tyypit ovat enimmäkseen primitiivisiä, ja niitä käytetään yleensä staattisena objektina.
Seuraavassa on joitakin yleisiä ValueTypeDescriptor
-elementtejä:
export interface ValueTypeDescriptor {
text?: boolean;
numeric?: boolean;
integer?: boolean;
bool?: boolean;
}
Rakennetyyppikuvaaja
StructuralTypeDescriptor
-tyyppejä käytetään useimmiten tietoihin sidottuihin objekteihin.
Yleisin StructuralTypeDescriptor
tyyppi on fill.
export interface StructuralTypeDescriptor {
fill?: FillTypeDescriptor;
}
Liukuväriominaisuus
Liukuväriominaisuus on ominaisuus, jota ei voi määrittää vakio-ominaisuudeksi. Sen sijaan sinun on asetettava sääntö värinvalitsinominaisuuden (täyttötyyppi ) korvaamista varten.
Seuraavassa koodissa näkyy esimerkki:
"properties": {
"showAllDataPoints": {
"type": {
"bool": true
}
},
"fill": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
},
"fillRule": {
"type": {
"fillRule": {}
},
"rule": {
"inputRole": "Gradient",
"output": {
"property": "fill",
"selector": [
"Category"
]
}
}
}
}
Kiinnitä huomiota fill- ja fillRule-ominaisuuksiin. Ensimmäinen on värinvalitsin, toinen on liukuvärin korvaussääntö, joka korvaa fill-ominaisuuden, visually
, kun säännön ehdot täyttyvät.
Tämä yhteys fill-ominaisuuden ja korvaussäännön välillä on määritetty"output"
>"rule"
fillRule-ominaisuuden -osassa.
"Rule"
>"InputRole"
-ominaisuus määrittää, mikä tietorooli käynnistää säännön (ehto). Tässä esimerkissä sääntö otetaan käyttöön -ominaisuudelle"fill"
, jos tietorooli "Gradient"
sisältää tietoja.
Seuraavassa koodissa on esimerkki tietoroolista, joka käynnistää täyttösäännön (the last item
):
{
"dataRoles": [
{
"name": "Category",
"kind": "Grouping",
"displayName": "Details",
"displayNameKey": "Role_DisplayName_Details"
},
{
"name": "Series",
"kind": "Grouping",
"displayName": "Legend",
"displayNameKey": "Role_DisplayName_Legend"
},
{
"name": "Gradient",
"kind": "Measure",
"displayName": "Color saturation",
"displayNameKey": "Role_DisplayName_Gradient"
}
]
}
Muotoilu-ruutu
Voit mukauttaa muotoiluruudun ominaisuuksia jollakin seuraavista tavoista sen mukaan, mitä ohjelmointirajapintaversiota käytät.
- getFormattingModel-ohjelmointirajapinnan menetelmä
- enumerateObjectInstances-ohjelmointirajapinnan menetelmä – vanhentunut
Muistiinpano
Ohjelmointirajapintamenetelmää getFormattingModel
tuetaan ohjelmointirajapinnan versiosta 5.1+. Jos haluat tietää, mitä versiota käytät, tarkista apiVersion
pbiviz.json .
Jotta voit käyttää objekteja tehokkaasti ohjelmointirajapinnan versiossa 5.1+, sinun on otettava -menetelmä käyttöön getFormattingModel
.
Tämä menetelmä luo ja palauttaa muotoilumallin, joka sisältää kaikki ominaisuudet -ruudun hierarkian muotoilukorteille, muotoiluryhmille ja myös muotoiluominai sille ja niiden arvoille.
Muotoilumallissa näkyvät ominaisuusobjektit
Jokainen muotoilumallin muotoiluominaisuus tarvitsee vastaavan objektin capabilities.json-tiedostossa . Muotoiluominaisuuden tulee sisältää kuvaaja, jolla on objektin nimi ja ominaisuuden nimi ja jotka vastaavat täsmälleen vastaavia ominaisuus-objekteja (objektissa ja ominaisuuksien nimissä kirjainkoko on merkitsevä).
Esimerkkejä:
Seuraava muotoiluominaisuus muotoilumallissa (katso kuvaavan objektin sisältö):
const myCustomCard: powerbi.visuals.FormattingCard = {
displayName: "My Custom Object Card",
uid: "myCustomObjectCard_uid",
groups: [{
displayName: undefined,
uid: "myCustomObjectGroup_uid",
slices: [
{
uid: "myCustomProperty_uid",
displayName: "My Custom Property",
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "myCustomObject",
propertyName: "myCustomProperty",
selector: null // selector is optional
},
value: { value: "#000000" }
}
}
}
],
}],
};
Vastaavan -objektin ominaisuusosiosta objects
tulee olla:
"objects": {
"myCustomObject": {
"properties": {
"myCustomProperty": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
}
}
}
}
Muotoiluominaisuuden valitsin
Muotoiluominaisuudet-kuvaajan valinnainen valitsin määrittää, mihin kukin ominaisuus sidotaan dataView-kohteessa. Eri vaihtoehtoja on neljä.
Esimerkki
Yllä olevassa esimerkissä myCustomCard
näytetään, miltä muotoilumallin muotoiluominaisuus näyttää objektilla, jolla on yksi ominaisuus myCustomProperty
. Tämä ominaisuusobjekti sidottu staattisesti kohteeseen dataViews[index].metadata.objects
.
Kuvaajan valitsinta voidaan muuttaa vastaavasti valitsemasi valitsintyypin mukaan.
Objektivalitsintyypit
Funktion enumerateObjectInstances
valitsin määrittää, mihin kukin objekti sidotaan dataView-kohteessa. Eri vaihtoehtoja on neljä:
staattinen
Tämä objekti on sidottu metatietoihin dataviews[index].metadata.objects
, kuten tässä on esitetty.
selector: null
sarakkeet
Tämä objekti sidotaan sarakkeisiin, joilla on vastaava QueryName
.
selector: {
metadata: 'QueryName'
}
valitsin
Tämä objekti on sidottu siihen elementtiin, jolle on luotu selectionID
. Tässä esimerkissä oletetaan, että joillekin arvopisteille luotiin selectionID
-malleja, ja niitä käydään läpi.
for (let dataPoint in dataPoints) {
...
selector: dataPoint.selectionID.getSelector()
}
Alueen käyttäjätiedot
Tämä objekti sidotaan tiettyihin arvoihin ryhmien leikkauskohdassa. Jos sinulla on esimerkiksi luokat ["Jan", "Feb", "March", ...]
ja sarja ["Small", "Medium", "Large"]
, voit halutessasi lisätä objektin and-funktiota Large
vastaavien Feb
arvojen leikkauskohtaan. Saat sen käyttämällä DataViewScopeIdentity
molempien sarakkeiden -parametria, työntämällä ne muuttujaan identities
ja käyttämällä tätä syntaksia valitsimen kanssa.
selector: {
data: <DataViewScopeIdentity[]>identities
}