Προσθήκη μορφοποίησης υπό όρους

Η μορφοποίηση υπό όρους επιτρέπει σε έναν δημιουργό αναφοράς να καθορίζει τον τρόπο εμφάνισης των χρωμάτων σε μια αναφορά, σύμφωνα με μια αριθμητική τιμή.

Αυτό το άρθρο περιγράφει τον τρόπο προσθήκης της λειτουργικότητας μορφοποίησης υπό όρους στην απεικόνιση Power BI.

Η μορφοποίηση υπό όρους μπορεί να εφαρμοστεί μόνο στους ακόλουθους τύπους ιδιοτήτων:

  • Color
  • Κείμενο
  • Icon
  • Διεύθυνση URL στο Web

Προσθήκη μορφοποίησης υπό όρους στο έργο σας

Αυτή η ενότητα παρουσιάζει τον τρόπο προσθήκης μορφοποίησης υπό όρους σε μια υπάρχουσα απεικόνιση Power BI. Το παράδειγμα κώδικα σε αυτό το άρθρο βασίζεται στην απεικόνιση SampleBarChart . Μπορείτε να εξετάσετε τον πηγαίο κώδικα σε barChart.ts.

Προσθήκη καταχώρησης μορφοποίησης χρώματος υπό όρους στο τμήμα παραθύρου μορφοποίησης

Σε αυτή την ενότητα, θα μάθετε πώς μπορείτε να προσθέσετε μια καταχώρηση μορφοποίησης χρώματος υπό όρους, σε ένα σημείο δεδομένων στο τμήμα παραθύρου μορφοποίησης.

  1. Θα χρησιμοποιήσετε τον propertyInstanceKind πίνακα στο VisualObjectInstance, ο οποίος εμφανίζεται από το powerbi-visuals-api. Το πρώτο βήμα είναι να επαληθεύσετε ότι το αρχείο σας περιλαμβάνει αυτή την εισαγωγή:

    import powerbiVisualsApi from "powerbi-visuals-api";
    
  2. Για να καθορίσετε τον κατάλληλο τύπο μορφοποίησης (Constant, ConstantOrRule ή Rule), θα χρησιμοποιήσετε την VisualEnumerationInstanceKinds απαρίθμηση. Προσθέστε την ακόλουθη εισαγωγή στο αρχείο σας:

    import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
    
  3. Ορισμός τύπου παρουσίας ιδιότητας μορφοποίησης

Για να μορφοποιήσετε ιδιότητες που υποστηρίζουν μορφοποίηση υπό όρους, ορίστε το είδος της απαιτούμενης παρουσίας στο 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 Η θα δημιουργήσει την καταχώρηση περιβάλλοντος εργασίας χρήστη μορφοποίησης υπό όρους μαζί με το στοιχείο περιβάλλοντος εργασίας σταθεράς μορφοποίησης.

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

Καθορισμός του τρόπου συμπεριφοράς της μορφοποίησης υπό όρους

Καθορίστε τον τρόπο με τον οποίο θα εφαρμοστεί η μορφοποίηση στα σημεία δεδομένων σας.

Χρησιμοποιώντας createDataViewWildcardSelector τη δηλωμένη στην περιοχή powerbi-visuals-utils-dataviewutils, καθορίστε εάν η μορφοποίηση υπό όρους θα εφαρμοστεί σε παρουσίες, σύνολα ή και τα δύο. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα DataViewWildcard.

Κάντε τις ακόλουθες αλλαγές στις ιδιότητες στις οποίες θέλετε να εφαρμόσετε μορφοποίηση υπό όρους:

  • Αντικαταστήστε την selector τιμή με την dataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption) κλήση. DataViewWildcardMatchingOption Καθορίζει εάν η μορφοποίηση υπό όρους εφαρμόζεται σε παρουσίες, σύνολα ή και τα δύο.

  • Προσθέστε την altConstantValueSelector ιδιότητα με την τιμή που ορίστηκε προηγουμένως για την selector ιδιότητα.

Για ιδιότητες μορφοποίησης που υποστηρίζουν μορφοποίηση υπό όρους, ορίστε το είδος της απαιτούμενης παρουσίας στο 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 }
                }
            }
        }
    );

    // ...
 }
    

Ζητήματα προς εξέταση και περιορισμοί

Η μορφοποίηση υπό όρους δεν υποστηρίζεται για τις ακόλουθες απεικονίσεις:

  • Απεικονίσεις που βασίζονται σε πίνακες

  • Απεικονίσεις που βασίζονται σε μήτρες

Συνιστούμε να μην χρησιμοποιείτε μορφοποίηση υπό όρους με σειρές. Αντί για αυτό, θα πρέπει να επιτρέψετε στους πελάτες να μορφοποιήσουν κάθε σειρά ξεχωριστά, διευκολύνοντας την οπτική διάκριση μεταξύ των σειρών. Οι περισσότερες έτοιμες απεικονίσεις με σειρές, μοιράζονται αυτή την προσέγγιση.

DataViewUtils