Přidání podmíněného formátování
Podmíněné formátování umožňuje tvůrci sestavy určit způsob zobrazení barev v sestavě podle číselné hodnoty.
Tento článek popisuje, jak do vizuálu Power BI přidat funkci podmíněného formátování.
Podmíněné formátování je v současné době možné použít pouze na barvu.
Přidání podmíněného formátování do projektu
Tato část ukazuje, jak přidat podmíněné formátování do existujícího vizuálu Power BI. Ukázkový kód v tomto článku je založený na vizuálu SampleBarChart . Zdrojový kód můžete prozkoumat v barChart.ts.
Přidání položky podmíněného formátování barev v podokně formátu
V této části se dozvíte, jak přidat položku podmíněného formátování barev do datového bodu v podokně formátu.
propertyInstanceKind
Použijte pole, kteréVisualObjectInstance
je vystavenopowerbi-visuals-api
. Ověřte, že soubor obsahuje tento import:import powerbiVisualsApi from "powerbi-visuals-api";
Chcete-li určit odpovídající typ formátování (Konstanta, Konstanta, KonstantaRule nebo Pravidlo), použijte
VisualEnumerationInstanceKinds
výčt. Do souboru přidejte následující import:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Nastavení typu instance vlastnosti formátování
Chcete-li formátovat vlastnosti, které podporují podmíněné formátování, nastavte požadovaný druh instance v jejich 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
vytvoří položku uživatelského rozhraní podmíněného formátování společně s prvkem uživatelského rozhraní pro konstantní formátování.
Definování chování podmíněného formátování
Definujte, jak se formátování použije u datových bodů.
Použití createDataViewWildcardSelector
deklarované v části powerbi-visuals-utils-dataviewutils
, určete, zda se má podmíněné formátování použít u instancí, součtů nebo obojího. Další informace naleznete v tématu DataViewWildcard.
U vlastností, u které chcete použít podmíněné formátování, proveďte následující změny:
selector
Nahraďte hodnotu volánímdataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
.DataViewWildcardMatchingOption
definuje, zda je podmíněné formátování použito u instancí, součtů nebo obojího.altConstantValueSelector
Přidejte vlastnost s hodnotou dříve definovanou proselector
vlastnost.
Pro formátování vlastností, které podporují podmíněné formátování, nastavte požadovaný druh instance v jejich 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 }
}
}
}
);
// ...
}
Úvahy a omezení
Podmíněné formátování není podporováno pro následující vizuály:
Vizuály založené na tabulkách
Maticové vizuály
Doporučujeme nepoužívat podmíněné formátování u řad. Místo toho byste měli zákazníkům umožnit formátovat jednotlivé řady, což usnadňuje vizuální rozlišení mezi řadami. Většina předefinovaných vizuálů se řadami sdílí tento přístup.