Tutorial: Hinzufügen von Formatierungsoptionen zum Visual für eine kreisförmige Karte

Wenn Sie ein Visual erstellen, können Sie Optionen zum Anpassen seiner Eigenschaften hinzufügen. Zu den Elementen, bei denen das Format angepasst werden kann, gehören unter anderem:

  • Titel
  • Hintergrund
  • Rahmen
  • Shadow
  • Farben

In diesem Tutorial lernen Sie Folgendes:

  • Hinzufügen von Formatierungseigenschaften zu Ihrem Visual
  • Packen des Visuals
  • Importieren des benutzerdefinierten Visuals in einen Bericht in Power BI Desktop oder im Power BI-Dienst

Voraussetzung

In diesem Tutorial wird erläutert, wie Sie allgemeine Formatierungseigenschaften zu einem Visual hinzufügen. Als Beispiel wird das Visual für eine kreisförmige Karte verwendet. Dort fügen Sie die Möglichkeit hinzu, die Farbe und Stärke des Kreises zu ändern. Wenn Sie über keinen Projektordner für eine kreisförmige Karte verfügen, der im Rahmen des verlinkten Tutorials erstellt wurde, absolvieren Sie das Tutorial noch mal, bevor Sie fortfahren.

Hinzufügen von Formatierungsoptionen

  1. Navigieren Sie in PowerShell zu Ihrem Projektordner für eine kreisförmige Karte, und starten Sie das Visual für eine kreisförmige Karte. Ihr Visual wird nun ausgeführt und auf Ihrem Computer gehostet.

    pbiviz start
    
  2. Wählen Sie in Power BI die Seite zum Formatieren aus.

    Es sollten allgemeine Formatierungsoptionen angezeigt werden, aber keine visuellen Formatierungsoptionen.

    Screenshot of formatting panel with only general formatting options.

  3. Öffnen Sie die Datei capabilities.json in Visual Studio Code.

  4. Fügen Sie vor dem Array dataViewMappingsobjects hinzu.

    "objects": {},
    

    Screenshot of capabilities file with empty objects array.

  5. Speichern Sie die Datei capabilities.json.

  6. Überprüfen Sie in Power BI die Formatierungsoptionen noch einmal.

    Hinweis

    Wenn die Formatierungsoptionen nicht geändert werden, wählen Sie Benutzerdefiniertes Visual erneut laden aus.

    Screenshot of general and visual formatting options on the formatting pane.

  7. Legen Sie die Option Titel auf Aus fest. Das Visual zeigt den Measurenamen nicht mehr links oben an.

    Screenshot of visualizations pane with the Title switch turned off.

    Screenshot of circle card visual without the title row.

Hinzufügen von benutzerdefinierten Formatierungsoptionen

Fügen Sie nun eine neue Gruppe namens color hinzu, um die Farbe und Breite des Kreises zu konfigurieren.

  1. Drücken Sie in Power Shell die Tastenkombination STRG+C, um das benutzerdefinierte Visual zu beenden.

  2. Fügen Sie in Visual Studio Code in der Datei capabilities.json das folgende JSON-Fragment bei dem Objekt mit dem Namen objects ein.

        "circle": {
            "properties": {
                "circleColor": {
                    "type": {
                        "fill": {
                            "solid": {
                                "color": true
                            }
                        }
                    }
                },
                "circleThickness": {
                    "type": {
                        "numeric": true
                    }
                }
            }
        }
    

    Das JSON-Fragment beschreibt eine Gruppe namens circle, die aus zwei Variablen besteht: circleColor und circleThickness.

  3. Speichern Sie die Datei capabilities.json.

  4. Navigieren Sie im Bereich Explorer zum Ordner src, und wählen Sie dann settings.ts aus. Diese Datei enthält die Einstellungen für das erste Visual.

  5. Ersetzen Sie in der Datei settings.ts die Importzeilen und zwei Klassen durch den folgenden Code.

    import { formattingSettings } from "powerbi-visuals-utils-formattingmodel";
    
    import FormattingSettingsCard = formattingSettings.SimpleCard;
    import FormattingSettingsSlice = formattingSettings.Slice;
    import FormattingSettingsModel = formattingSettings.Model;
    
    export class CircleSettings extends FormattingSettingsCard{
        public circleColor = new formattingSettings.ColorPicker({
            name: "circleColor",
            displayName: "Color",
            value: { value: "#ffffff" },
            show: true
        });
    
        public circleThickness = new formattingSettings.NumUpDown({
            name: "circleThickness",
            displayName: "Thickness",
            value: 2,
            show: true
        });
    
        public name: string = "circle";
        public displayName: string = "Circle";
        public show: boolean = true;
        public slices: FormattingSettingsSlice[] = [this.circleColor, this.circleThickness]
    }
    
    export class VisualSettings extends FormattingSettingsModel {
        public circle: CircleSettings = new CircleSettings();
        public cards: FormattingSettingsCard[] = [this.circle];
    }
    

    Dieses Modul definiert die beiden Klassen. Die Klasse CircleSettings definiert zwei Eigenschaften mit Namen, die mit den in der Datei capabilities.json definierten Objekten übereinstimmen (circleColor und circleThickness) und legt Standardwerte fest. Die VisualSettings-Klasse definiert das Kreisobjekt gemäß den in der Datei beschriebenen capabilities.json Eigenschaften.

  6. Speichern Sie die Datei settings.ts.

  7. Öffnen Sie die Datei visual.ts .

  8. Importieren Sie in der visual.ts Datei folgendes:

    import { VisualSettings } from "./settings";
    import { FormattingSettingsService } from "powerbi-visuals-utils-formattingmodel";
    

    und fügen Sie in der Klasse Visual die folgende Eigenschaft hinzu:

    private visualSettings: VisualSettings;
    private formattingSettingsService: FormattingSettingsService;
    
    

    Diese Eigenschaft speichert einen Verweis auf das Objekt VisualSettings, das die Einstellungen des Visuals beschreibt.

  9. Fügen Sie in der Visual-Klasse Folgendes als erste Zeile des Konstruktors ein:

    this.formattingSettingsService = new FormattingSettingsService();
    
  10. Fügen Sie in der Klasse Visual die folgende Methode vor der Methode update hinzu.

    public getFormattingModel(): powerbi.visuals.FormattingModel {
        return this.formattingSettingsService.buildFormattingModel(this.visualSettings);
    }
    

    Diese Funktion wird bei jedem Formatierungsbereichsrenderender aufgerufen. Sie können auswählen, welche Objekte und Eigenschaften Sie den Benutzern im Eigenschaftenbereich verfügbar machen möchten.

  11. Fügen Sie in der Methode update nach der Deklaration der Variablen radius den folgenden Code hinzu.

    this.visualSettings = this.formattingSettingsService.populateFormattingSettingsModel(VisualSettings, options.dataViews[0]);
    this.visualSettings.circle.circleThickness.value = Math.max(0, this.visualSettings.circle.circleThickness.value);
    this.visualSettings.circle.circleThickness.value = Math.min(10, this.visualSettings.circle.circleThickness.value);
    

    Dieser Code ruft die Formatierungsoptionen ab. Es passt jeden Wert an, der an die circleThickness-Eigenschaft übergeben wird, und konvertiert ihn in eine Zahl zwischen 0 und 10.

    Screenshot of setting circle thickness to between zero and 10.

  12. Ändern Sie im circle-Element die an fill style und stroke-width style übergebenen Werte wie folgt:

    .style("fill", this.visualSettings.circle.circleColor.value.value)
    
    .style("stroke-width", this.visualSettings.circle.circleThickness.value)
    

    Screenshot of circle elements.

  13. Speichern Sie die Datei visual.ts.

  14. Starten Sie das Visual in PowerShell.

    pbiviz start
    
  15. Wählen Sie in Power BI in der Symbolleiste über dem Visual Automatisches erneutes Laden aktivieren/deaktivieren aus.

    Screenshot of Toggle Auto Reload icon.

  16. Erweitern Sie in den Optionen für die Visualformatierung die Option Kreis.

    Screenshot of the final circle card visuals format pane elements.

    Ändern Sie die Optionen Farbe und Stärke.

Ändern Sie die Option Stärke in einen Wert kleiner als 0 und einen Wert größer als 10. Daraufhin können Sie sehen, dass das Visual den Wert auf ein tolerierbares Minimum oder Maximum aktualisiert.

Debuggen

Tipps zum Debuggen von benutzerdefinierten Visualisierungen finden Sie im Debug-Handbuch.

Verpacken des benutzerdefinierten Visuals

Nun, da das Visual abgeschlossen und bereit für die Verwendung ist, ist es an der Zeit, das Visual zu packen. Ein gepacktes Visual kann in Power BI-Berichte oder den Power BI-Dienst importiert werden, sodass andere es nutzen und sich daran erfreuen können.

Wenn Das Visual bereit ist, befolgen Sie die Anweisungen unter Packen eines Power BI-Visuals , und geben Sie es dann, wenn Sie möchten, für andere Personen frei, damit sie es importieren und genießen können.

Nächste Schritte