API for identitetsfilter
Med API-en for identitetsfilter kan du opprette et visualobjekt som kan filtrere kategoriske data ved hjelp av en semantisk spørring.
Den filtrerer dataene etter datapunkter i stedet for matematiske uttrykk.
API-en holder oversikt over brukervalg og hvilke data som skal vises. Datapunktene lagres i en matrise og refereres av plasseringen i matrisen.
Denne API-en er nyttig i følgende scenarioer:
- For egendefinerte visualobjekter som bruker semantiske modeller med grupper etter nøkler
- Overføre visualobjekter som brukte en eldre API (tidligere enn 2,2) til en nyere API
- Tillat valg ved hjelp av identifiserende indeksmatriser
Merk
API-en for identitetsfilteret er tilgjengelig fra API versjon 5.1 Hvis du vil finne ut hvilken versjon du bruker, kan du sjekke apiVersion
inn pbiviz.json-filen.
Identitetsfiltermodellen er basert på IIdentityFilter-grensesnittet .
private filter: IIdentityFilter = {
$schema: “”,
filterType: FilterType.Identity,
operator: "In",
target: []
}
Hvis for eksempel visualobjektet mottok følgende oppdatering av datavisning:
Matrisen er av typen tall[] og den inneholder identitetsfeltene for elementene som brukeren valgte.
IdentityIndex tilsvarer indeksen for verdien i den semantiske modellens verdimatrise (se eksemplet nedenfor).
I eksemplet ovenfor: {identityIndex: 0} = "Aaliyah" {identityIndex: 1} = "Aaliyah" {identityIndex: 02 = "Aaliyah" etc.
Slik bruker du API-en for identitetsfilter
Hvis du vil bruke API-en for identitetsfilter, må powerbi-modellversjonen være 1.9.1 eller høyere.
Legg til følgende egenskap som medlem av visual.ts-klassen:
private filter: IIdentityFilter = { $schema: “”, filterType: FilterType.Identity, operator: "In", target: [] }
Hvis du vil håndtere Power BI-oppdateringer, kan du lese målmatrisen fra jsonFilters i VisualUpdateOptions og oversette den til tilsvarende verdier. Disse verdiene er de som ble valgt. I det forrige eksemplet tilsvarer en målmatrise på [0,10] verdiene til Aliyah og Abigail.
Hvis du vil håndtere brukervalg i forrige eksempel, klikker du på den første Abigail for å legge til verdien 8 i filtermålmatrisen og sende den ved hjelp av følgende kommando:
this.visualHost.applyJsonFilter(this.filter, "general", "filter", powerbi.FilterAction.merge);
Overføre visualobjekter med gammel API
Fra og med API 5.1.0, for å støtte identitetsfilteret på visualobjekter som ble opprettet ved hjelp av en versjon tidligere enn 2.2, legger du til følgende linjer i capabilities.json-filen :
"migration": {
"filter": {
"shouldUseIdentityFilter": true
}
}
Disse linjene konverterer valgene til identitetsfiltre.
Merk
Dette trinnet er bare nødvendig for eksisterende visualobjekter som er opprettet med eldre API-er. Nyere visualobjekter trenger ikke å legge til dette.
Relatert innhold
Bruke visualobjektvalg i Power BI til å legge til interaktivitet i et visualobjekt
Har du flere spørsmål? Prøv Power BI-fellesskap.