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:
- Visualisoinnin ohjelmointirajapinnan versio 1.11.0 tai uudempi versio visualisoinneista, jotka eivät ole suodattimia ja jotka käyttävät -sovellusta
SelectionManager
. - Visualisoinnin ohjelmointirajapinnan versio 2.6.0 tai uudempi versio suodatinvisualisointeja varten.
- Jos haluat tietää, mitä versiota käytät, tarkista
apiVersion
pbiviz.json .
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. Jotta oikea tila voidaan palauttaa, visualisoinnin on välitettävä isännälle oikea valintatila (esimerkiksi hahmonnetun 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
Muistiinpano
InteractivityService on vanhentunut.
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 vanhentunut menetelmä. - SelectionManagerin kautta.
InteractivityService-palvelun käyttäminen kirjanmerkkivalintojen palauttamiseen – vanhentunut
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
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
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).
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 suodatustilana, määritä objektin ominaisuuden arvoksi "filterState": true
tiedostossa capabilities.json .