Zdieľať cez


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.

V súčasnosti je podmienené formátovanie možné použiť iba na farbu.

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. propertyInstanceKind Použite pole v VisualObjectInstance, ktoré je vystavené rozhraním powerbi-visuals-api. Skontrolujte, č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 používateľského rozhrania podmieneného formátovania spolu s prvkom používateľského rozhrania formátovania konštáncií.

Snímka obrazovky tlačidla podmieneného formátovania v službe Power BI vedľa normálneho tlačidla farby.

Definovanie správania podmieneného formátovania

Definujte používanie formátovania v údajových bodoch.

Zadajte createDataViewWildcardSelector pomocou položky deklarovanej v powerbi-visuals-utils-dataviewutilsčasti , či sa má podmienené formátovanie použiť 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