Voorwaardelijke opmaak toevoegen
Met voorwaardelijke opmaak kan een maker van een rapport opgeven hoe kleuren in een rapport worden weergegeven, volgens een numerieke waarde.
In dit artikel wordt beschreven hoe u de functionaliteit voor voorwaardelijke opmaak toevoegt aan uw Power BI-visual.
Op dit moment kan voorwaardelijke opmaak alleen worden toegepast op kleur.
Voorwaardelijke opmaak toevoegen aan uw project
In deze sectie ziet u hoe u voorwaardelijke opmaak toevoegt aan een bestaande Power BI-visual. De voorbeeldcode in dit artikel is gebaseerd op de visual SampleBarChart . U kunt de broncode in barChart.ts bekijken.
Een vermelding voor voorwaardelijke kleuropmaak toevoegen in het opmaakvenster
In deze sectie leert u hoe u een vermelding voor voorwaardelijke kleuropmaak toevoegt aan een gegevenspunt in het opmaakvenster.
Gebruik de
propertyInstanceKind
matrix inVisualObjectInstance
, die wordt weergegeven doorpowerbi-visuals-api
. Controleer of het bestand deze import bevat:import powerbiVisualsApi from "powerbi-visuals-api";
Als u het juiste type opmaak wilt opgeven (Constant, ConstantOrRule of Regel), gebruikt u de
VisualEnumerationInstanceKinds
opsomming. Voeg de volgende import toe aan uw bestand:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Type opmaakeigenschap instellen
Als u eigenschappen wilt opmaken die voorwaardelijke opmaak ondersteunen, stelt u het vereiste exemplaartype in.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
maakt de gebruikersinterfacevermelding voor voorwaardelijke opmaak naast het element van de gebruikersinterface voor constante opmaak.
Definiëren hoe voorwaardelijke opmaak zich gedraagt
Definiëren hoe opmaak wordt toegepast op uw gegevenspunten.
Geef onder powerbi-visuals-utils-dataviewutils
Gedeclareerd createDataViewWildcardSelector
op of u voorwaardelijke opmaak wilt toepassen op exemplaren, totalen of beide. Zie DataViewWildcard voor meer informatie.
Breng de volgende wijzigingen aan in de eigenschappen waarop u voorwaardelijke opmaak wilt toepassen:
Vervang de
selector
waarde door dedataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
aanroep.DataViewWildcardMatchingOption
bepaalt of voorwaardelijke opmaak wordt toegepast op exemplaren, totalen of beide.Voeg de
altConstantValueSelector
eigenschap toe met de waarde die eerder voor deselector
eigenschap is gedefinieerd.
Voor het opmaken van eigenschappen die voorwaardelijke opmaak ondersteunen, stelt u het vereiste exemplaartype in.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 }
}
}
}
);
// ...
}
Overwegingen en beperkingen
Voorwaardelijke opmaak wordt niet ondersteund voor de volgende visuals:
Visuals op basis van tabellen
Visuals op basis van matrix
U wordt aangeraden geen voorwaardelijke opmaak te gebruiken met reeksen. In plaats daarvan moet u klanten in staat stellen om elke reeks afzonderlijk te formatteren, zodat ze gemakkelijk visueel onderscheid kunnen maken tussen reeksen. De meeste out-of-the-box-visuals met reeksen delen deze benadering.