Kirjanmerkkien tuen lisääminen Power BI -raporttien visualisointeihin
Power BI -raportin kirjanmerkkien avulla voit siepata ja tallentaa määritetyn näkymän raporttisivusta. Voit sitten palata tallennettuun näkymään nopeasti ja helposti milloin tahansa. Kirjanmerkki tallentaa koko määrityksen, mukaan lukien valinnat ja suodattimet.
Lisätietoja kirjanmerkeistä on artikkelissa Merkityksellisten tietojen jakaminen ja tarinoiden koostaminen Power BI:ssä kirjanmerkkien avulla.
Kirjanmerkkejä tukevat visualisoinnit
Kirjanmerkkejä tukevan Power BI -visualisoinnin on pystyttävä tallentamaan ja antamaan oikeat tiedot tarvittaessa. Jos visualisointisi on vuorovaikutuksessa muiden visualisointien kanssa, valitsee arvopisteitä tai suodattaa muita visualisointeja, sinun on tallennettava kirjanmerkillinen tila visualisoinnin filterState-ominaisuuksissa .
Muistiinpano
Kirjanmerkkejä tukevan visualisoinnin luominen edellyttää seuraavia:
- Powerbi-visuals-utils-interactivityutils , versio 3.0.0 tai uudempi suodatinvisualisointeihin ja mihin tahansa visualisointiin, jossa on käytössä
InteractivityService
. - Visualisoinnin ohjelmointirajapinnan versio 1.11.0 tai uudempi niille visualisoinnille, jotka eivät ole suodattimia ja joita käytetään
SelectionManager
-arvonInteractivityService
sijaan. - Jos haluat tietää, mitä versiota käytät, tarkista
apiVersion
pbiviz.json-tiedostosta .
Power BI -visualisointien vuorovaikutus Power BI:n kanssa raportin kirjanmerkeissä
Oletetaan, että haluat luoda raporttisivulle useita kirjanmerkkejä, joista jokainen on valittuna siten, että kullakin kirjanmerkillä on eri arvopisteet valittuna.
Valitse ensin yksi tai useampi arvopiste visualisoinnissa. Visualisointi välittää valintasi isännälle. Valitse sitten LisääKirjanmerkki-ruudussa. Power BI tallentaa senhetkiset valinnat uutta kirjanmerkkiä varten.
Luo uusia kirjanmerkkejä useita kertoja. Kun olet luonut kirjanmerkit, voit vaihtaa niiden välillä.
Aina, kun valitset kirjanmerkin, Power BI palauttaa tallennetun suodattimen tai valintatilan ja välittää sen visualisointeihin. Raportin visualisoinnit korostetaan tai suodatetaan kirjanmerkkiin tallennetun tilan mukaan. Tämän vuoksi visualisoinnin on välitettävä isäntälle oikea valintatila (esimerkiksi hahmonnettavien arvopisteiden värit).
Uusi valintatila (tai suodatin) välitetään -menetelmän options.jsonFilters
-ominaisuuden update
kautta. jsonFilters
voi olla joko Advanced Filter
tai Tuple Filter
.
- Jos visualisointi sisältää valittuja arvopisteitä, palauta valinta valitun kirjanmerkin valintaan käyttämällä takaisinkutsufunktiota kohteessa
registerOnSelectCallback
ISelectionManager
. - Jos visualisointisi käyttää suodattimia tietojen valitsemiseen, palauta suodatinarvot valitun kirjanmerkin vastaaviin arvoihin.
Valinnaiset visualisoinnit
Jos visualisointi on vuorovaikutuksessa muiden Valinta-visualisointien kanssa, voit lisätä kirjanmerkkituen kahdella tavalla:
- Voit hallita valintoja InteractivityService-palvelun
applySelectionFromFilter
kautta käyttämällä . Tämä on helpompi ja suositeltu menetelmä. - Jos visualisointi ei käytä InteractivityService-palvelua SelectionManagerin kautta.
InteractivityService-palvelun avulla voit palauttaa kirjanmerkkivalinnat
Jos visualisointisi käyttää InteractivityService-palvelua, et tarvitse muita toimintoja visualisoinnin kirjanmerkkien tukemiseksi.
Kun valitset kirjanmerkin, apuohjelma käsittelee automaattisesti visualisoinnin valintatilan.
Kirjanmerkkivalintojen palauttaminen SelectionManagerin avulla
Jos et käytä -menetelmää InteractivityService
, voit tallentaa ja palauttaa kirjanmerkkivalinnat käyttämällä ISelectionManager.registerOnSelectCallback
seuraavaa menetelmää:
Kun valitset kirjanmerkin, Power BI kutsuu callback
vastaavat valinnat sisältävän visualisoinnin -menetelmän.
this.selectionManager.registerOnSelectCallback(
(ids: ISelectionId[]) => {
//called when a selection was set by Power BI
});
);
Oletetaan, että loit arvopisteen visualisoinnin Muunna-menetelmässä .
Näyttää datapoints
tältä:
visualDataPoints.push({
category: categorical.categories[0].values[i],
color: getCategoricalObjectValue<Fill>(categorical.categories[0], i, 'colorSelector', 'fill', defaultColor).solid.color,
selectionId: host.createSelectionIdBuilder()
.withCategory(categorical.categories[0], i)
.createSelectionId(),
selected: false
});
Nyt sinulla on visualDataPoints
arvopisteinäsi, ja - ids
matriisi on välitetty -funktioon callback
.
Tässä vaiheessa visualisoinnin pitäisi verrata ISelectionId[]
-matriisia ja -matriisisi visualDataPoints
valintoja sekä merkitä vastaavat arvopisteet valituiksi.
this.selectionManager.registerOnSelectCallback(
(ids: ISelectionId[]) => {
visualDataPoints.forEach(dataPoint => {
ids.forEach(bookmarkSelection => {
if (bookmarkSelection.equals(dataPoint.selectionId)) {
dataPoint.selected = true;
}
});
});
});
);
Arvopisteiden päivittämisen jälkeen ne kuvastavat -objektiin tallennettua filter
nykyistä valintatilaa. Kun arvopisteet hahmonnetaan, mukautetun visualisoinnin valintatila vastaa kirjanmerkin tilaa.
Suodattimen sisältävät visualisoinnit
Jos haluat tukea kirjanmerkkejä visualisoinneissa, joissa on suodatin, käytä .InteractivityService
Oletetaan, että visualisointi luo tietojen suodattimen päivämääräalueen mukaan. Sinulla on startDate
ja endDate
alueen alkamis- ja päättymispäivämäärinä.
Visualisointi luo lisäsuodattimen ja kutsuu isäntämenetelmää applyJsonFilter
tietojen suodattamiseksi asiaankuuluvan ehdon mukaan.
Kohde on suodattamiseen käytettävä taulukko.
import { AdvancedFilter } from "powerbi-models";
const filter: IAdvancedFilter = new AdvancedFilter(
target,
"And",
{
operator: "GreaterThanOrEqual",
value: startDate
? startDate.toJSON()
: null
},
{
operator: "LessThanOrEqual",
value: endDate
? endDate.toJSON()
: null
});
this.host.applyJsonFilter(
filter,
"general",
"filter",
(startDate && endDate)
? FilterAction.merge
: FilterAction.remove
);
Aina, kun valitset kirjanmerkin, mukautettu visualisointi saa - update
kutsun.
-menetelmässä update
visualisointi tarkistaa suodattimen objektissa:
const filter: IAdvancedFilter = FilterManager.restoreFilter(
&& options.jsonFilters
&& options.jsonFilters[0] as any
) as IAdvancedFilter;
filter
Jos objektin arvo ei ole tyhjä, visualisointi palauttaa suodatusehdot objektista:
const jsonFilters: AdvancedFilter = this.options.jsonFilters as AdvancedFilter[];
if (jsonFilters
&& jsonFilters[0]
&& jsonFilters[0].conditions
&& jsonFilters[0].conditions[0]
&& jsonFilters[0].conditions[1]
) {
const startDate: Date = new Date(`${jsonFilters[0].conditions[0].value}`);
const endDate: Date = new Date(`${jsonFilters[0].conditions[1].value}`);
// apply restored conditions
} else {
// apply default settings
}
Sen jälkeen visualisointi muuttaa sisäisen tilansa vastaamaan nykyisiä ehtoja. Sisäinen tila sisältää arvopisteet ja visualisointiobjektit (kuten viivat ja suorakulmiot).
Tärkeä
Yllä olevassa raportin kirjanmerkkiskenaariossa visualisoinnin ei pitäisi kutsua -kutsua applyJsonFilter
muiden visualisointien suodattamiseksi. Power BI on jo suodattänyt ne.
Aikajanan osittajan visualisointi muuttaa alueen valitsimen tietoalueita vastaavaksi.
Tallenna visualisoinnin suodatustila
Kirjanmerkin suodattimen ehtojen tallentamisen lisäksi voit tallentaa myös muita suodatinnäkökohtia.
Esimerkiksi Aikajanan osittaja tallentaa -ominaisuuden Granularity
arvot suodatustilaksi. Sen avulla aikajanan askelväli (päivät, kuukaudet, vuodet jne.) muuttuu, kun vaihdat kirjanmerkkejä.
- filterState
ominaisuus tallentaa suodatin-ominaisuuden ominaisuudeksi. Visualisointi voi tallentaa kirjanmerkkeihin eri filterState
arvoja.
Jos haluat tallentaa ominaisuuden arvon suodatustilaksi, määritä objektin ominaisuuden arvoksi "filterState": true
tiedostossa capabilities.json .
Liittyvä sisältö
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle