Feltételes formázás hozzáadása
A feltételes formázás lehetővé teszi, hogy a jelentés létrehozója numerikus érték alapján határozza meg, hogyan jelenjenek meg a színek a jelentésben.
Ez a cikk bemutatja, hogyan adhat hozzá feltételes formázási funkciókat a Power BI-vizualizációhoz.
A feltételes formázás jelenleg csak színre alkalmazható.
Feltételes formázás hozzáadása a projekthez
Ez a szakasz bemutatja, hogyan adhat hozzá feltételes formázást egy meglévő Power BI-vizualizációhoz. A cikkben szereplő példakód a SampleBarChart vizualizáción alapul. A forráskódot a barChart.ts tekintheti meg.
Feltételes színformázási bejegyzés hozzáadása a formázási panelen
Ebben a szakaszban megtudhatja, hogyan adhat hozzá feltételes színformázási bejegyzést egy adatponthoz a Formátum panelen.
Használja a
propertyInstanceKind
tömböt a következőbenVisualObjectInstance
: .powerbi-visuals-api
Ellenőrizze, hogy a fájl tartalmazza-e az importálást:import powerbiVisualsApi from "powerbi-visuals-api";
A megfelelő formázási típus (Állandó, ConstantOrRule vagy Szabály) megadásához használja az enumerálást
VisualEnumerationInstanceKinds
. Adja hozzá a következő importálást a fájlhoz:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Formázási tulajdonságpéldány típusának beállítása
A feltételes formázást támogató tulajdonságok formázásához állítsa be a szükséges példánytípust a saját descriptor
.
public getFormattingModel(): powerbi.visuals.FormattingModel {
// ...
formattingGroup.slices.push(
{
uid: `colorSelector${barDataPoint_indx}_uid`,
displayName: barDataPoint.category,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "colorSelector",
propertyName: "fill",
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals),
altConstantValueSelector: barDataPoint.selectionId.getSelector(),
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule // <=== Support conditional formatting
},
value: { value: barDataPoint.color }
}
}
}
);
// ...
}
VisualEnumerationInstanceKinds.ConstantOrRule
a feltételes formázás felhasználói felületének bejegyzését az állandó formázás felhasználói felületi elemével együtt hozza létre.
A feltételes formázás működésének meghatározása
Határozza meg, hogyan alkalmazza a formázást az adatpontokra.
A createDataViewWildcardSelector
deklarált területen powerbi-visuals-utils-dataviewutils
adja meg, hogy feltételes formázást kíván-e alkalmazni a példányokra, összegekre vagy mindkettőre. További információ: DataViewWildcard.
Végezze el a következő módosításokat a feltételes formázást alkalmazni kívánt tulajdonságokon:
Cserélje le az
selector
értéket a hívásradataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
.DataViewWildcardMatchingOption
Meghatározza, hogy a rendszer alkalmazza-e a feltételes formázást a példányokra, összegekre vagy mindkettőre.Adja hozzá a
altConstantValueSelector
tulajdonságot a tulajdonsághozselector
korábban definiált értékkel.
A feltételes formázást támogató formázási tulajdonságokhoz állítsa be a szükséges példánytípust a saját descriptor
.
public getFormattingModel(): powerbi.visuals.FormattingModel {
// ...
formattingGroup.slices.push(
{
uid: `colorSelector${barDataPoint_indx}_uid`,
displayName: barDataPoint.category,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "colorSelector",
propertyName: "fill",
// Define whether the conditional formatting will apply to instances, totals, or both
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals),
// Add this property with the value previously defined for the selector property
altConstantValueSelector: barDataPoint.selectionId.getSelector(),
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule
},
value: { value: barDataPoint.color }
}
}
}
);
// ...
}
Szempontok és korlátozások
A feltételes formázás nem támogatott a következő vizualizációk esetében:
Táblaalapú vizualizációk
Mátrixalapú vizualizációk
Javasoljuk, hogy ne használjon feltételes formázást adatsorokkal. Ehelyett lehetővé kell tenni, hogy az ügyfelek egyenként formázza az egyes sorozatokat, így könnyen vizuálisan megkülönböztethetők a sorozatok. A legtöbb beépített vizualizáció a sorozatokkal, ossza meg ezt a megközelítést.