Jaa


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.

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 Largevastaavien Feb arvojen leikkauskohtaan. Saat sen käyttämällä DataViewScopeIdentity molempien sarakkeiden -parametria, työntämällä ne muuttujaan identitiesja käyttämällä tätä syntaksia valitsimen kanssa.

selector: {
    data: <DataViewScopeIdentity[]>identities
}

Suorituskykyvihjeitä