Dodawanie formatowania warunkowego
Formatowanie warunkowe umożliwia twórcy raportu określenie sposobu wyświetlania kolorów w raporcie zgodnie z wartością liczbową.
W tym artykule opisano sposób dodawania funkcji formatowania warunkowego do wizualizacji usługi Power BI.
Obecnie formatowanie warunkowe można stosować tylko do koloru.
Dodawanie formatowania warunkowego do projektu
W tej sekcji pokazano, jak dodać formatowanie warunkowe do istniejącej wizualizacji usługi Power BI. Przykładowy kod w tym artykule jest oparty na wizualizacji SampleBarChart . Kod źródłowy można sprawdzić w barChart.ts.
Dodawanie wpisu formatowania koloru warunkowego w okienku formatowania
W tej sekcji dowiesz się, jak dodać wpis formatowania koloru warunkowego do punktu danych w okienku formatowania.
Użyj tablicy
propertyInstanceKind
wVisualObjectInstance
pliku , która jest uwidaczniona przezpowerbi-visuals-api
element . Sprawdź, czy plik zawiera ten import:import powerbiVisualsApi from "powerbi-visuals-api";
Aby określić odpowiedni typ formatowania (Stała, ConstantOrRule lub Rule), użyj wyliczenia
VisualEnumerationInstanceKinds
. Dodaj następujący import do pliku:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Ustawianie rodzaju wystąpienia właściwości formatowania
- getFormattingModel, metoda interfejsu API
- enumerateObjectInstances, metoda interfejsu API — przestarzała
Aby sformatować właściwości obsługujące formatowanie warunkowe, ustaw wymagany rodzaj wystąpienia w parametrze 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
Tworzy wpis interfejsu użytkownika formatowania warunkowego wraz z elementem interfejsu użytkownika formatowania stałego.
Definiowanie zachowania formatowania warunkowego
Zdefiniuj sposób stosowania formatowania do punktów danych.
Za pomocą createDataViewWildcardSelector
deklaracji w obszarze powerbi-visuals-utils-dataviewutils
określ, czy należy zastosować formatowanie warunkowe do wystąpień, sum lub obu tych opcji. Aby uzyskać więcej informacji, zobacz DataViewWildcard.
Wprowadź następujące zmiany we właściwościach, do których chcesz zastosować formatowanie warunkowe:
Zastąp
selector
wartość wywołaniemdataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
.DataViewWildcardMatchingOption
Określa, czy formatowanie warunkowe jest stosowane do wystąpień, sum lub obu tych elementów.altConstantValueSelector
Dodaj właściwość z wartością zdefiniowaną wcześniej dlaselector
właściwości .
- getFormattingModel, metoda interfejsu API
- enumerateObjectInstances, metoda interfejsu API — przestarzała
W przypadku właściwości formatowania, które obsługują formatowanie warunkowe, ustaw wymagany rodzaj wystąpienia w parametrze 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 }
}
}
}
);
// ...
}
Rozważania i ograniczenia
Formatowanie warunkowe nie jest obsługiwane dla następujących wizualizacji:
Wizualizacje oparte na tabelach
Wizualizacje oparte na macierzy
Zalecamy, aby nie używać formatowania warunkowego z serii. Zamiast tego należy zezwolić klientom na formatowanie poszczególnych serii indywidualnie, co ułatwia wizualne rozróżnienie między seriami. Większość wbudowanych wizualizacji z seriami udostępnia to podejście.