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í lze použít pouze u následujících typů vlastností:

  • Color
  • Text
  • Icon
  • Webová URL

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.

  1. Použijete propertyInstanceKind pole, které VisualObjectInstanceje vystaveno powerbi-visuals-api. Prvním krokem je ověření, že soubor obsahuje tento import:

    import powerbiVisualsApi from "powerbi-visuals-api";
    
  2. K určení vhodného typu formátování (Konstanta, ConstantOrRule nebo Rule) použijete VisualEnumerationInstanceKinds výčt. Do souboru přidejte následující import:

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

Screenshot of the conditional formatting button, as it appears in Power BI, next to the regular color button.

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 podmíněné formátování použije 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 pro selector 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.

DataViewUtils