Megosztás a következőn keresztül:


Feltételes formázás hozzáadása

A feltételes formázás lehetővé teszi, hogy a jelentés létrehozója numerikus érték alapján határozza meg, hogyan jelenjenek meg a színek a jelentésben.

Ez a cikk bemutatja, hogyan adhat hozzá feltételes formázási funkciókat a Power BI-vizualizációhoz.

A feltételes formázás jelenleg csak színre alkalmazható.

Feltételes formázás hozzáadása a projekthez

Ez a szakasz bemutatja, hogyan adhat hozzá feltételes formázást egy meglévő Power BI-vizualizációhoz. A cikkben szereplő példakód a SampleBarChart vizualizáción alapul. A forráskódot a barChart.ts tekintheti meg.

Feltételes színformázási bejegyzés hozzáadása a formázási panelen

Ebben a szakaszban megtudhatja, hogyan adhat hozzá feltételes színformázási bejegyzést egy adatponthoz a Formátum panelen.

  1. Használja a propertyInstanceKind tömböt a következőbenVisualObjectInstance: .powerbi-visuals-api Ellenőrizze, hogy a fájl tartalmazza-e az importálást:

    import powerbiVisualsApi from "powerbi-visuals-api";
    
  2. A megfelelő formázási típus (Állandó, ConstantOrRule vagy Szabály) megadásához használja az enumerálástVisualEnumerationInstanceKinds. Adja hozzá a következő importálást a fájlhoz:

    import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
    
  3. Formázási tulajdonságpéldány típusának beállítása

A feltételes formázást támogató tulajdonságok formázásához állítsa be a szükséges példánytípust a saját 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 a feltételes formázás felhasználói felületének bejegyzését az állandó formázás felhasználói felületi elemével együtt hozza létre.

Képernyőkép a feltételes formázás gombról, ahogy az a Power BI-ban, a normál szín gomb mellett jelenik meg.

A feltételes formázás működésének meghatározása

Határozza meg, hogyan alkalmazza a formázást az adatpontokra.

A createDataViewWildcardSelector deklarált területen powerbi-visuals-utils-dataviewutilsadja meg, hogy feltételes formázást kíván-e alkalmazni a példányokra, összegekre vagy mindkettőre. További információ: DataViewWildcard.

Végezze el a következő módosításokat a feltételes formázást alkalmazni kívánt tulajdonságokon:

  • Cserélje le az selector értéket a hívásra dataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption) . DataViewWildcardMatchingOption Meghatározza, hogy a rendszer alkalmazza-e a feltételes formázást a példányokra, összegekre vagy mindkettőre.

  • Adja hozzá a altConstantValueSelector tulajdonságot a tulajdonsághoz selector korábban definiált értékkel.

A feltételes formázást támogató formázási tulajdonságokhoz állítsa be a szükséges példánytípust a saját 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 }
                }
            }
        }
    );

    // ...
 }
    

Szempontok és korlátozások

A feltételes formázás nem támogatott a következő vizualizációk esetében:

  • Táblaalapú vizualizációk

  • Mátrixalapú vizualizációk

Javasoljuk, hogy ne használjon feltételes formázást adatsorokkal. Ehelyett lehetővé kell tenni, hogy az ügyfelek egyenként formázza az egyes sorozatokat, így könnyen vizuálisan megkülönböztethetők a sorozatok. A legtöbb beépített vizualizáció a sorozatokkal, ossza meg ezt a megközelítést.

DataViewUtils