Treemap- und Sunburst-Diagramme in einem paginierten Bericht in SQL Server Reporting Services (Power BI-Berichts-Generator)
Die Treemap- und Sunburst-Visualisierungen des Power BI-Berichts-Generators sind gut für die visuelle Darstellung von hierarchischen Daten in einem paginierten Bericht geeignet. In diesem Artikel wird erklärt, wie Sie ein Treemap- oder Sunburst-Diagramm zu einem Bericht hinzufügen. Außerdem beinhaltet er eine AdventureWorks-Beispielabfrage, um Sie bei den ersten Schritten zu unterstützen.
Treemap-Diagramm
In einem Treemap-Diagramm wird die Diagrammfläche in Rechtecke unterteilt, die die verschiedenen Ebenen und die relative Größe der Datenhierarchie darstellen. Die Darstellung ähnelt dem Geäst eines Baums, das am Stamm beginnt und sich in immer feinere Zweige aufspaltet. Jedes Rechteck wird in kleinere Rechtecke aufgespalten, die die nächste Hierarchieebene darstellen. Die größten Rechtecke des Treemap-Diagramms werden mit dem größten Rechteck in der oberen linken Ecke des Diagramms angeordnet. Diese Rechtecke stellen die oberste Hierarchieebene dar. Die Rechtecke sind nach absteigender Hierarchie angeordnet, und das kleinste Rechteck befindet sich in der unteren rechten Ecke. Innerhalb eines Rechtecks sind die Rechtecke ebenfalls der Hierarchie entsprechend von oben links nach unten rechts angeordnet.
In der folgenden Abbildung eines Beispiel-Treemap-Diagramms ist das Gebiet „Southwest“ (Südwesten) das größte und „Germany“ (Deutschland) das kleinste. Innerhalb des Südwestens ist das Feld „Road Bikes“ (Rennräder) größer als das für „Mountain Bikes“.
Einfügen eines Treemap-Diagramms und Einrichten der AdventureWorks-Beispieldaten
Hinweis
Bevor Sie Ihrem Bericht ein Diagramm hinzufügen, erstellen Sie eine Datenquelle und ein Dataset. Beispieldaten und eine Beispielabfrage finden Sie im Abschnitt Sample AdventureWorks data (Adventureworks-Beispieldaten).
Klicken Sie mit der rechten Maustaste auf die Designoberfläche und anschließend auf Einfügen>Diagramm. Klicken Sie auf das Treemap-Symbol.
Passen Sie die Position und Größe des Diagramms an. Für die Verwendung mit den Beispieldaten wird ein Diagramm mit einer Breit von 5 Zoll empfohlen.
Fügen Sie die folgenden Felder aus den Beispieldaten hinzu:
- Werte: LineTotal
- Kategoriegruppen (in der folgenden Reihenfolge):
- CategoryName
- SubcategoryName
- Seriengruppen: TerritoryName
Um die Seitengröße für ein Treemap-Diagramm anzupassen, positionieren Sie die Legende ans Ende.
Klicken Sie mit der rechten Maustaste auf LineTotal und anschließend auf Reiheneigenschaften, um QuickInfos hinzuzufügen, die die Unterkategorie und die Zeilensumme anzeigen.
Legen Sie die Eigenschaft QuickInfo auf den folgenden Wert fest:
=Fields!SubcategoryName.Value &": " &Format(Sum(Fields!LineTotal.Value),"C")
Weitere Informationen finden Sie unter Anzeigen von QuickInfo für eine Reihe in einem paginierten Bericht (Power BI-Berichts-Generator).
Ändern Sie den Standarddiagrammtitel in Categorized Sales by Territory (Verkäufe nach Kategorie und Territorium).
Die Anzahl der angezeigten Beschriftungswerte wird durch die Größe der Schriftart, die Gesamtgröße der Diagrammfläche und die Größe der jeweiligen Rechtecke beeinflusst. Um weitere Bezeichnungen anzuzeigen, ändern Sie die LineTotal-Eigenschaft Bezeichnungsschriftart von 8 Punkt (standardmäßig eingestellt) in 10 Punkt.
Sunburst-Diagramm
In einem Sunburst-Diagramm wird die Hierarchie durch eine Reihe von Kreisen dargestellt. Die höchste Ebene der Hierarchie liegt im Zentrum, während die niedrigeren Hierarchieebenen Ringe sind, die außerhalb des Zentrums angezeigt werden. Die unterste Hierarchieebene befindet sich im äußersten Ring.
Einfügen eines Sunburst-Diagramms und Einrichten der Adventureworks-Beispieldaten
Hinweis
Bevor Sie Ihrem Bericht ein Diagramm hinzufügen, erstellen Sie eine Datenquelle und ein Dataset. Beispieldaten und eine Beispielabfrage finden Sie im Abschnitt Sample AdventureWorks data (Adventureworks-Beispieldaten).
Klicken Sie mit der rechten Maustaste auf die Designoberfläche und anschließend auf Einfügen>Diagramm. Klicken Sie auf das Sunburst-Symbol.
Passen Sie die Position und Größe des Diagramms an. Für die Verwendung mit den Beispieldaten wird ein Diagramm mit einer Breit von 5 Zoll empfohlen.
Fügen Sie die folgenden Felder aus den Beispieldaten hinzu:
- Werte: LineTotal
- Kategoriegruppen (in der folgenden Reihenfolge):
- CategoryName
- SubcategoryName
- SalesReasonName
- Seriengruppen: TerritoryName
Um die Seitengröße für ein Sunburst-Diagramm zu optimieren, positionieren Sie die Legende ans Ende.
Ändern Sie den Standarddiagrammtitel auf Categorized Sales by Territory, with sales reason (Verkäufe nach Kategorie und Territorium, unter Berücksichtigung des Kaufgrunds).
Um dem Sunburst-Diagramm die Werte der Kategoriegruppen hinzuzufügen, legen Sie die Beschriftungseigenschaften wie folgt fest: Visible=true und UseValueAsLabel=false.
Die angezeigten Beschriftungswerte werden durch die Größe der Schriftart, die Gesamtgröße der Diagrammfläche und die Größe der jeweiligen Rechtecke beeinflusst. Um weitere Bezeichnungen anzuzeigen, ändern Sie die LineTotal-Eigenschaft Bezeichnungsschriftart von 8 Punkt (standardmäßig eingestellt) in 10 Punkt.Wenn Sie den Farbbereich ändern möchten, verändern Sie im Diagramm die Eigenschaft Palette .
AdventureWorks-Beispieldaten
Dieser Abschnitt enthält eine Beispielabfrage und die grundlegenden Schritte zum Erstellen einer Datenquelle und eines Datasets im Power BI-Berichts-Generator. Wenn Ihr Bericht bereits eine Datenquelle und ein Dataset enthält, können Sie diesen Abschnitt überspringen.
Die Abfrage gibt detaillierte AdventureWorks-Daten zu Verkaufsaufträgen mit Daten zum Vertriebsgebiet, der Produktkategorie, der Unterkategorie des Produkts und dem Verkaufsgrund aus.
Rufen Sie die Daten ab.
Die Abfrage in diesem Abschnitt basiert auf der AdventureWorks-Datenbank, die von GitHub heruntergeladen werden kann: AdventureWorks 2016 full database backup (Vollständige Datenbanksicherung von AdventureWorks 2016).
Erstellen Sie eine Datenquelle.
Klicken Sie unter Berichtsdaten mit der rechten Maustaste auf die Datenquellen, und klicken Sie anschließend auf Datenquelle hinzufügen.
Klicken Sie auf In meinem Bericht eingebettete Verbindung verwenden.
Wählen Sie als Verbindungstyp die Option Microsoft SQL Server aus.
Geben Sie die Verbindungszeichenfolge für Ihren Server und Ihre Datenbank ein. Beispiel:
Data Source=[server name];Initial Catalog=AdventureWorks2016
Klicken Sie zunächst auf die Schaltfläche Verbindung testen und anschließend auf OK, um die Verbindung mit der Datenbank zu prüfen.
Weitere Informationen zum Erstellen einer Datenquelle finden Sie unter Hinzufügen und Prüfen einer Datenverbindung (Power BI-Berichts-Generator).
Erstellen Sie ein Dataset.
Klicken Sie unter Berichtsdaten mit der rechten Maustaste auf Datenquellen, und wählen Sie Dataset hinzufügen aus.
Wählen Sie Ein in den eigenen Bericht eingebettetes Dataset verwendenaus.
Klicken Sie auf die von Ihnen erstellte Datenquelle.
Klicken Sie auf den Abfragetyp Text, kopieren Sie die folgende Abfrage, und fügen Sie sie in das Textfeld Abfrage ein:
SELECT Sales.SalesOrderHeader.SalesOrderID, Sales.SalesOrderHeader.OrderDate, Sales.SalesOrderDetail.SalesOrderDetailID, Sales.SalesOrderDetail.ProductID, Sales.SalesOrderDetail.LineTotal, Sales.SalesOrderDetail.UnitPrice, Sales.SalesOrderDetail.OrderQty, Production.Product.Name, Production.Product.ProductNumber, Sales.SalesTerritory.TerritoryID, lower(Sales.SalesTerritory.Name) AS TerritoryName, Production.ProductSubcategory.Name AS SubcategoryName, Production.ProductCategory.Name AS CategoryName, Sales.SalesReason.SalesReasonID, Sales.SalesReason.Name AS SalesReasonName FROM Sales.SalesOrderDetail INNER JOIN Sales.SalesOrderHeader ON Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderID INNER JOIN Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID INNER JOIN Sales.SalesTerritory ON Sales.SalesOrderHeader.TerritoryID = Sales.SalesTerritory.TerritoryID AND Sales.SalesOrderHeader.TerritoryID = Sales.SalesTerritory.TerritoryID AND Sales.SalesOrderHeader.TerritoryID = Sales.SalesTerritory.TerritoryID INNER JOIN Production.ProductSubcategory ON Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID AND Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID AND Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID INNER JOIN Production.ProductCategory ON Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID AND Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID AND Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID INNER JOIN Sales.SalesOrderHeaderSalesReason ON Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID AND Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID AND Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID AND Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID INNER JOIN Sales.SalesReason ON Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID AND Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID AND Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID AND Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID
Klicken Sie auf OK.
Weitere Informationen zum Erstellen eines Datasets finden Sie unter Erstellen eines freigegebenen Datasets oder eingebetteten Datasets (Power BI-Berichts-Generator).