Pridanie podmieneného formátovania

Podmienené formátovanie umožňuje tvorcovi zostavy určiť, ako sa majú v zostave zobrazovať farby podľa číselnej hodnoty.

Tento článok popisuje, ako pridať funkciu podmieneného formátovania do vizuálu služby Power BI.

Podmienené formátovanie možno použiť iba v nasledujúcich typoch vlastností:

  • Farba
  • Text
  • Ikona
  • Webová URL adresa

Pridanie podmieneného formátovania do projektu

V tejto časti sa dozviete, ako pridať podmienené formátovanie do existujúceho vizuálu v službe Power BI. Vzorový kód v tomto článku je založený na vizuáli SampleBarChart . Zdrojový kód môžete preskúmať v barChart.ts.

Pridanie položky podmieneného formátovania farby na table formátu

V tejto časti sa dozviete, ako pridať položku podmieneného formátovania farby do údajového bodu na table formátu.

  1. Použijete pole v službe propertyInstanceKind , ktoré je vystavené rozhraním powerbi-visuals-api.VisualObjectInstance Prvým krokom je overenie, či súbor obsahuje tento import:

    import powerbiVisualsApi from "powerbi-visuals-api";
    
  2. Ak chcete zadať vhodný typ formátovania (Constant, ConstantOrRule alebo Rule), použite enumuVisualEnumerationInstanceKinds. Do súboru pridajte nasledujúci import:

    import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
    
  3. Nastavenie typu inštancie vlastnosti formátovania

Ak chcete formátovať vlastnosti, ktoré podporujú podmienené formátovanie, nastavte požadovaný druh inštancie v ich 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 položka vytvorí položku používateľského rozhrania podmieneného formátovania spolu s prvkom používateľského rozhrania formátovania konštáncií.

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

Definovanie správania podmieneného formátovania

Definujte, ako sa použije formátovanie v údajových bodoch.

Zadajte pomocou createDataViewWildcardSelector položky deklarovanej v powerbi-visuals-utils-dataviewutilsčasti , či sa podmienené formátovanie použije na inštancie, súčty alebo oboje. Ďalšie informácie nájdete v téme DataViewWildcard.

Vykonajte nasledujúce zmeny vlastností, na ktoré chcete použiť podmienené formátovanie:

  • selector Nahraďte hodnotu volaním dataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption) . DataViewWildcardMatchingOption položka určuje, či sa podmienené formátovanie použije na inštancie, súčty alebo oboje.

  • altConstantValueSelector Pridajte vlastnosť s hodnotou, ktorá bola predtým definovaná pre selector vlastnosť .

Pre vlastnosti formátovania, ktoré podporujú podmienené formátovanie, nastavte požadovaný typ inštancie v ich 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 }
                }
            }
        }
    );

    // ...
 }
    

Dôležité informácie a obmedzenia

Podmienené formátovanie nie je podporované pre nasledujúce vizuály:

  • Vizuály založené na tabuľke

  • Vizuály založené na matici

Odporúčame, aby ste nepoužívali podmienené formátovanie s radmi. Namiesto toho by ste zákazníkom mali povoliť individuálne formátovanie každého radu, čím sa zjednoduší vizuálne rozlíšenie medzi sériami. Zdieľať tento prístup pri väčšine preddeblokových vizuálov s radmi.

DataViewUtils