Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Power BI-jelentés könyvjelzőivel rögzítheti és mentheti a jelentésoldalak konfigurált nézetét. Ezután bármikor gyorsan és egyszerűen visszatérhet a mentett nézethez. A könyvjelző menti a teljes konfigurációt, beleértve a kijelöléseket és a szűrőket is.
A könyvjelzőkről további információt a Könyvjelzők használata elemzések megosztásához és történetek készítéséhez a Power BI-ban című témakörben talál.
Könyvjelzőket támogató vizualizációk
A könyvjelzőket támogató Power BI-vizualizációknak szükség esetén képesnek kell lenniük a megfelelő információk mentésére és megadására. Ha a vizualizáció más vizualizációkkal kommunikál, adatpontokat jelöl ki vagy más vizualizációkat szűr, a könyvjelzővel ellátott állapotot a vizualizáció filterState tulajdonságai közé kell mentenie .
Feljegyzés
A könyvjelzőket támogató vizualizáció létrehozásához a következőre van szükség:
- A Visual API 1.11.0-s vagy újabb verziója a nem szűrő vizualizációkhoz
SelectionManager. - A Visual API 2.6.0-s vagy újabb verziója szűrővizualizációkhoz.
- Ha meg szeretné tudni, hogy melyik verziót használja, ellenőrizze a
apiVersionpbiviz.json fájlban.
Hogyan használják a Power BI-vizualizációk a Power BI-t a jelentés könyvjelzőiben?
Tegyük fel, hogy több könyvjelzőt szeretne létrehozni egy jelentésoldalon, és mindegyik könyvjelző különböző adatpontokkal rendelkezik.
Először jelöljön ki egy vagy több adatpontot a vizualizációban. A vizualizáció átadja a kijelöléseket a gazdagépnek. Ezután válassza a Hozzáadás lehetőséget a Könyvjelző panelen. A Power BI menti az új könyvjelző aktuális kijelöléseit.
Ezt többször is megteheti új könyvjelzők létrehozásához. A könyvjelzők létrehozása után válthat közöttük.
Minden alkalommal, amikor kiválaszt egy könyvjelzőt, a Power BI visszaállítja a mentett szűrőt vagy kijelölési állapotot, és továbbítja azt a vizualizációknak. A jelentés vizualizációi a könyvjelzőben tárolt állapotnak megfelelően vannak kiemelve vagy szűrve. A megfelelő állapot visszaállításához a vizualizációnak a megfelelő kijelölési állapotot kell átadnia a gazdagépnek (például a renderelt adatpontok színeit).
A rendszer az új kijelölési állapotot (vagy szűrőt) a options.jsonFilters metódus tulajdonságán update keresztül közli. A jsonFilters lehet vagy Advanced FilterTuple Filter.
- Ha a vizualizáció kijelölt adatpontokat tartalmaz, állítsa vissza a kijelölést a kijelölt könyvjelzőre a visszahívási függvény használatával.
registerOnSelectCallbackISelectionManager - Ha a vizualizáció szűrőkkel választja ki az adatokat, állítsa vissza a szűrőértékeket a kijelölt könyvjelző megfelelő értékeire.
Vizualizációk kijelöléssel
Feljegyzés
Az InteractivityService használata megszűnt.
Ha a vizualizáció más vizualizációkkal a Kijelölés funkcióval kommunikál, kétféleképpen adhat hozzá könyvjelző-támogatást:
- Az InteractivityService használatával kezelheti a kijelöléseket; használja a
applySelectionFromFilter. Ez elavult módszer. - A SelectionManageren keresztül.
Könyvjelző-kijelölés visszaállítása az InteractivityService használatával – elavult
Ha a vizualizáció az InteractivityService szolgáltatást használja, nincs szükség más műveletekre a vizualizáció könyvjelzőinek támogatásához.
Könyvjelző kijelölésekor a segédprogram automatikusan kezeli a vizualizáció kijelölési állapotát.
Könyvjelző-kijelölés visszaállítása a SelectionManager használatával
A könyvjelző-kijelöléseket a ISelectionManager.registerOnSelectCallback következőképpen mentheti és hívhatja vissza:
Könyvjelző kiválasztásakor a Power BI meghívja a callback vizualizáció metódusát a megfelelő kijelölésekkel.
this.selectionManager.registerOnSelectCallback(
(ids: ISelectionId[]) => {
//called when a selection was set by Power BI
});
);
Tegyük fel, hogy létrehozott egy adatpontot a visualTransform metódusban, amely a vizuális elemhez tartozik.
A datapoints következőképpen néz ki:
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
});
Most már az visualDataPoints adatpontok és a ids tömb átadva van a callback függvénynek.
Ezen a ponton a vizualizációnak össze kell hasonlítania a ISelectionId[] tömböt a tömbben lévő visualDataPoints kijelölésekkel, majd jelölje meg a megfelelő adatpontokat kijelöltként.
this.selectionManager.registerOnSelectCallback(
(ids: ISelectionId[]) => {
visualDataPoints.forEach(dataPoint => {
ids.forEach(bookmarkSelection => {
if (bookmarkSelection.equals(dataPoint.selectionId)) {
dataPoint.selected = true;
}
});
});
});
);
Az adatpontok frissítése után azok az objektumban filter tárolt aktuális kijelölési állapotot tükrözik. Ezután az adatpontok megjelenítésekor az egyéni vizualizáció kijelölési állapota megegyezik a könyvjelző állapotával.
Vizualizációk szűrővel
Tegyük fel, hogy a vizualizáció dátumtartomány szerinti adatszűrőt hoz létre. Önnek megvan a startDate kezdő dátum és a endDate záró dátum a tartományhoz.
A vizualizáció létrehoz egy speciális szűrőt, és meghívja a fogadó metódust applyJsonFilter az adatok releváns feltételek szerinti szűrésére.
A szűréshez használt tábla a cél.
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
);
Minden alkalommal, amikor kiválaszt egy könyvjelzőt, az egyéni vizualizáció kap egy update hívást.
A update módszerben a vizuális elem ellenőrzi a szűrőt az objektumban.
const filter: IAdvancedFilter = FilterManager.restoreFilter(
&& options.jsonFilters
&& options.jsonFilters[0] as any
) as IAdvancedFilter;
Ha az filter objektum nem null értékű, a vizualizáció visszaállítja az objektum szűrőfeltételeit:
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
}
Ezt követően a vizualizáció a jelenlegi feltételeknek megfelelően módosítja a belső állapotát. A belső állapot tartalmazza az adatpontokat és a vizualizációs objektumokat (vonalakat, téglalapokat stb.).
Az Idősorszeletelő vizualizáció a tartományválasztót a megfelelő adattartományokra módosítja.
A vizualizáció szűrőállapotának mentése
A könyvjelzőhöz tartozó szűrő feltételeinek mentése mellett más szűrési szempontokat is menthet.
Az Ütemtervszeletelő például szűrőállapotként tárolja a Granularity tulajdonságértékeket. Megengedi az idővonal részletességének változtatását (nap, hónap, év stb.), amikor módosítja a könyvjelzőket.
A filterState tulajdonság tulajdonságként ment egy szűrőelemet. A vizualizáció különböző filterState értékeket tárolhat könyvjelzőkben.
Ha egy tulajdonságértéket szűrőállapotként szeretne menteni, állítsa be az objektumtulajdonságot "filterState": true a capabilities.json fájlban.