Delen via


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.

  1. Gebruik de propertyInstanceKind matrix in VisualObjectInstance, die wordt weergegeven door powerbi-visuals-api. Controleer of het bestand deze import bevat:

    import powerbiVisualsApi from "powerbi-visuals-api";
    
  2. Als u het juiste type opmaak wilt opgeven (Constant, ConstantOrRule of Regel), gebruikt u de VisualEnumerationInstanceKindsopsomming. Voeg de volgende import toe aan uw bestand:

    import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
    
  3. 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.

Schermopname van de knop voorwaardelijke opmaak, zoals deze wordt weergegeven in Power BI, naast de normale kleurknop.

Definiëren hoe voorwaardelijke opmaak zich gedraagt

Definiëren hoe opmaak wordt toegepast op uw gegevenspunten.

Geef onder powerbi-visuals-utils-dataviewutilsGedeclareerd 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 de dataViewWildcard.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 de selector 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.

DataViewUtils