Sdílet prostřednictvím


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í je v současné době možné použít pouze na barvu.

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. propertyInstanceKind Použijte pole, které VisualObjectInstanceje vystaveno powerbi-visuals-api. Ověřte, že soubor obsahuje tento import:

    import powerbiVisualsApi from "powerbi-visuals-api";
    
  2. Chcete-li určit odpovídající typ formátování (Konstanta, Konstanta, KonstantaRule nebo Pravidlo), použijte 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í.

Snímek obrazovky s tlačítkem podmíněného formátování, které se zobrazí v Power BI vedle běžného barevného tlačítka

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 má podmíněné formátování použít 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