Pridanie podmieneného formátovania
Podmienené formátovanie umožňuje tvorcovi zostavy určiť, ako sa majú v zostave zobrazovať farby podľa číselnej hodnoty.
Tento článok popisuje, ako pridať funkciu podmieneného formátovania do vizuálu služby Power BI.
V súčasnosti je podmienené formátovanie možné použiť iba na farbu.
Pridanie podmieneného formátovania do projektu
V tejto časti sa dozviete, ako pridať podmienené formátovanie do existujúceho vizuálu v službe Power BI. Vzorový kód v tomto článku je založený na vizuáli SampleBarChart . Zdrojový kód môžete preskúmať v barChart.ts.
Pridanie položky podmieneného formátovania farby na table formátu
V tejto časti sa dozviete, ako pridať položku podmieneného formátovania farby do údajového bodu na table formátu.
propertyInstanceKind
Použite pole vVisualObjectInstance
, ktoré je vystavené rozhranímpowerbi-visuals-api
. Skontrolujte, či súbor obsahuje tento import:import powerbiVisualsApi from "powerbi-visuals-api";
Ak chcete zadať vhodný typ formátovania (Constant, ConstantOrRule alebo Rule), použite enumu
VisualEnumerationInstanceKinds
. Do súboru pridajte nasledujúci import:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Nastavenie typu inštancie vlastnosti formátovania
Ak chcete formátovať vlastnosti, ktoré podporujú podmienené formátovanie, nastavte požadovaný druh inštancie v ich 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
položka používateľského rozhrania podmieneného formátovania spolu s prvkom používateľského rozhrania formátovania konštáncií.
Definovanie správania podmieneného formátovania
Definujte používanie formátovania v údajových bodoch.
Zadajte createDataViewWildcardSelector
pomocou položky deklarovanej v powerbi-visuals-utils-dataviewutils
časti , či sa má podmienené formátovanie použiť na inštancie, súčty alebo oboje. Ďalšie informácie nájdete v téme DataViewWildcard.
Vykonajte nasledujúce zmeny vlastností, na ktoré chcete použiť podmienené formátovanie:
selector
Nahraďte hodnotu volanímdataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
.DataViewWildcardMatchingOption
položka určuje, či sa podmienené formátovanie použije na inštancie, súčty alebo oboje.altConstantValueSelector
Pridajte vlastnosť s hodnotou, ktorá bola predtým definovaná preselector
vlastnosť .
Pre vlastnosti formátovania, ktoré podporujú podmienené formátovanie, nastavte požadovaný typ inštancie v ich 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 }
}
}
}
);
// ...
}
Dôležité informácie a obmedzenia
Podmienené formátovanie nie je podporované pre nasledujúce vizuály:
Vizuály založené na tabuľke
Vizuály založené na matici
Odporúčame, aby ste nepoužívali podmienené formátovanie s radmi. Namiesto toho by ste zákazníkom mali povoliť individuálne formátovanie každého radu, čím sa zjednoduší vizuálne rozlíšenie medzi sériami. Zdieľať tento prístup pri väčšine preddeblokových vizuálov s radmi.