Sie lesen die Dokumentation zu Icon Map Pro für Version 1.1.0.11, die noch nicht veröffentlicht wurde. Zur aktuellen Version (1.1.0.10).

Mehrere Ebenen in einer Karte kombinieren

Ein einzelnes Icon Map Pro-Visual kann mehrere Datenebenen gleichzeitig zeichnen, zum Beispiel Filialen als Kreise, Lieferungen als Linien und Vertriebsregionen als Formen. Alle stammen aus einer Tabelle. Diese Seite erklärt, wie jede Zeile ihre Ebene findet, wie Sie diese Tabelle aufbauen und was Sie prüfen, wenn eine Ebene nichts zeichnet.

Eine Karte mit Regionen als farbigen Formen, Filialen als Kreisen und Lieferlinien dazwischen
Formen, Kreise und Linien aus einer Tabelle

Die Regel

Eine Zeile wird von der Ebene gezeichnet, deren Felder sie ausfüllt.

Es gibt einen Satz von Feldbereichen, und jede Datenebene liest ihn. Das Visual betrachtet jede Zeile und fragt, welche Felder einen Wert haben:

  • Eine Zeile mit einem Längengrad, einem Breitengrad und einer Kreisgröße ist ein Kreis.
  • Eine Zeile mit einem Längengrad, einem Breitengrad und einem Ziel ist eine Linie.
  • Eine Zeile mit nur einer Feature-Referenz ist eine Form aus einer Datei.
Eine Tabelle mit drei Zeilen. Die erste füllt Längengrad, Breitengrad und Größe aus und wird von Kreise gezeichnet. Die zweite füllt Längengrad, Breitengrad und Ziel aus und wird von Linien gezeichnet. Die dritte füllt nur die Feature-Referenz aus und wird von Formen aus Dateien gezeichnet
Jede Zeile wird von der Ebene gezeichnet, deren Felder sie ausfüllt

Zwei weitere Bedingungen müssen erfüllt sein, damit eine Zeile gezeichnet wird:

  1. Die Felder anderer Ebenen sind in dieser Zeile leer. Eine Filialzeile, die auch ein Ziel hat, ist kein Kreis mehr. Sie wird als Linie behandelt.
  2. Die Ebene ist aktiviert. Eine Zeile, die zu einer deaktivierten Ebene passt, wird nicht gezeichnet.

Um also mehrere Ebenentypen auf einer Karte zu zeigen, halten Sie sie in einer Tabelle, geben Sie jeder Zeile nur die Felder ihrer eigenen Ebene, und lassen Sie die anderen leer.

Leer und ohne Wert

Ein Feld ist in einer Zeile leer, wenn:

  • Es in den Daten null ist oder ein Measure BLANK() zurückgibt.
  • Es ein Textwert ohne Inhalt oder nur mit Leerzeichen ist. Tabellen aus CSV-Dateien, Excel oder Power Query enthalten oft leeren Text statt null. Icon Map Pro behandelt beides gleich.
  • Diesem Feldbereich überhaupt kein Feld hinzugefügt wurde.

Null als Zahl ist ein Wert, nicht leer. Eine Zeile mit einer Kreisgröße von 0 hat weiterhin eine Kreisgröße.

Spalten haben in jeder Zeile einen Wert

Wenn Sie eine Spalte wie Sales zu Kreisgröße hinzufügen, erhält jede Zeile mit einem Sales-Wert eine Kreisgröße, auch die Zeilen, die Sie als Linien oder Formen gedacht haben. Verwenden Sie eine Spalte, die in diesen Zeilen leer ist, oder ein Measure, das für sie leer zurückgibt. Siehe Measures, die bei anderen Zeilen leer sind.

Was jede Ebene benötigt

Jede Ebene benötigt ID. „Zellgewichtung“ steht in dieser Tabelle für den Feldbereich Zellgewichtung (H3/S2/A5/Geohash), und „Ziel“ meint sowohl Ziel-Längengrad als auch Ziel-Breitengrad.

Ebene Ausfüllen Leer lassen
Kreise Längengrad (X), Breitengrad (Y), Kreisgröße Ziel, Bild / WKT / GeoJSON, Feature-Referenz, Heatmap-Gewichtung, Zellgewichtung, Säulenhöhe
Bilder und Symbole Längengrad (X), Breitengrad (Y), Bild / WKT / GeoJSON Ziel, Feature-Referenz, Heatmap-Gewichtung, Zellgewichtung, Kreisgröße
Heatmap Längengrad (X), Breitengrad (Y), Heatmap-Gewichtung Ziel, Kreisgröße, Bild / WKT / GeoJSON, Feature-Referenz, Zellgewichtung
3D-Säulen Längengrad (X), Breitengrad (Y), Säulenhöhe Ziel, Kreisgröße, Bild / WKT / GeoJSON, Feature-Referenz, Zellgewichtung, Heatmap-Gewichtung
Zellen aus Koordinaten Längengrad (X), Breitengrad (Y), Zellgewichtung Ziel, Kreisgröße, Heatmap-Gewichtung, Bild / WKT / GeoJSON, Feature-Referenz
Zellen aus Zellen-IDs Zellgewichtung (die ID ist die Zellen-ID) Längengrad (X), Breitengrad (Y) und die Felder in der Zeile darüber
Linien Längengrad (X), Breitengrad (Y), Ziel Feature-Referenz, Bild / WKT / GeoJSON, Heatmap-Gewichtung, Zellgewichtung
Formen aus Daten Bild / WKT / GeoJSON Längengrad (X), Breitengrad (Y), Ziel, Heatmap-Gewichtung, Zellgewichtung, Feature-Referenz, Kreisgröße
Formen aus Dateien Feature-Referenz Bild / WKT / GeoJSON, Längengrad (X), Breitengrad (Y), Ziel, Heatmap-Gewichtung, Zellgewichtung, Kreisgröße
Vektorkacheln Feature-Referenz Bild / WKT / GeoJSON, Heatmap-Gewichtung, Zellgewichtung, Kreisgröße
Katalogebenen Feature-Referenz Nichts
ArcGIS-Layer Feature-Referenz Nichts

Wissenswert:

  • QuickInfos, Cluster-Gruppe, Feature-Gewichtung und Tag-Nacht-Grenze - Datum und Uhrzeit entscheiden nie, zu welcher Ebene eine Zeile gehört. Füllen Sie sie in jeder beliebigen Zeile aus.
  • Linien mit Kreisen. Eine Linienzeile darf eine Kreisgröße haben. Ist in den Einstellungen der Linien Kreise einbeziehen bei: festgelegt, werden an den Enden der Linie Kreise gezeichnet.
  • Kreis oder Säule. Eine Zeile mit einer Kreisgröße und einer Säulenhöhe ist keines von beiden. Füllen Sie nur eines davon aus.
  • Bilder und Formen teilen sich einen Feldbereich. Eine Zeile mit einem Bild und Koordinaten ist ein Bild. Eine Zeile mit WKT- oder GeoJSON-Text und ohne Koordinaten ist eine Form.
  • Feature-Referenz wird gemeinsam genutzt. Formen aus Dateien, Vektorkacheln, Katalogebenen und ArcGIS-Layer verknüpfen alle über Feature-Referenz. Eine Zeile mit einer Feature-Referenz wird jeder dieser Ebenen angeboten, die aktiviert ist. Dieselbe Zeile kann also in mehr als einer davon eine Grenze einfärben.

Ein durchgerechnetes Beispiel: Filialen und Lieferungen

Sie möchten Filialen als Kreise, deren Größe der Umsatz bestimmt, und Lieferungen als Linien von einem Depot zu jeder Filiale. Die Tabelle benötigt eine Zeile für jede Filiale und eine Zeile für jede Lieferung:

ID Type Longitude Latitude Destination Longitude Destination Latitude Size
Store Leeds Store -1.549 53.801 120
Store York Store -1.081 53.959 85
Delivery 1001 Delivery -1.356 53.683 -1.549 53.801
Delivery 1002 Delivery -1.356 53.683 -1.081 53.959
  • Die Filialzeilen (Store) füllen die Koordinaten und Size aus und lassen das Ziel leer. Kreise zeichnet sie.
  • Die Lieferzeilen (Delivery) füllen die Koordinaten und das Ziel aus und lassen Size leer. Linien zeichnet sie.

Fügen Sie die Felder dem Visual hinzu, jede Spalte in den entsprechenden Feldbereich, mit Size in Kreisgröße. Aktivieren Sie dann beide Ebenen.

Wählen Sie im Ebenen-Manager Ebene hinzufügen und dann Datenebene. Die Kacheln für Kreise und Linien & Flüsse zeigen Felder bereit, mit der Zahl der Zeilen, die jede zeichnen würde. Fügen Sie beide hinzu, und wählen Sie dann Änderungen übernehmen.

Um Vertriebsregionen als dritte Ebene hinzuzufügen, fügen Sie für jede Region eine Zeile hinzu, die nur die Feature-Referenz ausfüllt, und fügen Sie diese Spalte zu Feature-Referenz hinzu:

ID Type Longitude Latitude Destination Longitude Destination Latitude Size Region code
Region North Region E12000001

Aktivieren Sie dann Formen aus Dateien, und fügen Sie die Datei mit den Regionen hinzu.

Die Tabelle aufbauen

In den meisten Modellen sind Filialen, Lieferungen und Regionen getrennte Tabellen. Power BI benötigt sie für das Visual als eine Tabelle. Kombinieren Sie sie also. Geben Sie jeder Zeile eine eindeutige ID: Wenn eine Filiale und eine Lieferung dieselbe ID haben könnten, fügen Sie ein Präfix hinzu.

Power Query: die Tabellen anfügen

Geben Sie den Spalten in jeder Abfrage dieselben Namen, und verwenden Sie dann Abfragen als neu anfügen. Spalten, die eine Abfrage nicht hat, werden mit null gefüllt, und genau das benötigt die Karte.

let
    StoreRows = Table.SelectColumns(Stores, {"ID", "Type", "Longitude", "Latitude", "Size"}),
    DeliveryRows = Table.SelectColumns(
        Deliveries,
        {"ID", "Type", "Longitude", "Latitude", "Destination Longitude", "Destination Latitude"}
    ),
    MapItems = Table.Combine({StoreRows, DeliveryRows})
in
    MapItems

DAX: eine berechnete Tabelle mit UNION

UNION stapelt Tabellen, deren Spalten in derselben Reihenfolge stehen. Verwenden Sie BLANK() für die Spalten, die ein Zeilentyp nicht nutzt.

Map Items =
UNION (
    SELECTCOLUMNS (
        Stores,
        "ID", "Store " & Stores[Name],
        "Type", "Store",
        "Longitude", Stores[Longitude],
        "Latitude", Stores[Latitude],
        "Destination Longitude", BLANK (),
        "Destination Latitude", BLANK (),
        "Size", Stores[Sales]
    ),
    SELECTCOLUMNS (
        Deliveries,
        "ID", "Delivery " & Deliveries[Delivery No],
        "Type", "Delivery",
        "Longitude", Deliveries[Depot Longitude],
        "Latitude", Deliveries[Depot Latitude],
        "Destination Longitude", Deliveries[Store Longitude],
        "Destination Latitude", Deliveries[Store Latitude],
        "Size", BLANK ()
    )
)

Measures, die bei anderen Zeilen leer sind

Wenn der Wert für einen Feldbereich aus einer Spalte stammt, die in jeder Zeile einen Wert hat, verpacken Sie ihn in ein Measure, das für die Zeilen anderer Ebenen leer zurückgibt. IF ohne drittes Argument gibt BLANK() zurück:

Store Size =
IF (
    SELECTEDVALUE ( 'Map Items'[Type] ) = "Store",
    SUM ( 'Map Items'[Sales] )
)

Legen Sie das Measure anstelle der Spalte in Kreisgröße. Filialzeilen erhalten eine Größe und werden als Kreise gezeichnet. Lieferzeilen erhalten einen leeren Wert und werden als Linien gezeichnet. Dasselbe Muster funktioniert für jeden Feldbereich, zum Beispiel für ein Ziel, das leer ist, sofern die Zeile keine Lieferung ist:

Delivery Destination Longitude =
IF (
    SELECTEDVALUE ( 'Map Items'[Type] ) = "Delivery",
    AVERAGE ( 'Map Items'[Destination Longitude] )
)

Ebenen mit einem Datenschnitt wählen

Weil die Ebene den Daten folgt, kann ein Datenschnitt Ebenen für Leser ein- und ausschalten. Fügen Sie einen Datenschnitt auf der Spalte Type der Beispieltabelle hinzu. Die Auswahl von Store zeigt nur die Kreise, und die Auswahl von Delivery zeigt nur die Linien, weil die anderen Zeilen herausgefiltert werden, bevor sie die Karte erreichen.

Prüfen, was jede Ebene zeichnet

Der Ebenen-Manager zeigt, wie Ihre Zeilen aufgeteilt wurden. Öffnen Sie ihn über Formatbereich > Ebenen-Manager > Ebenen-Manager öffnen.

  • Der Bereich Ihre Daten listet die Felder auf, die Sie hinzugefügt haben, und gibt an, ob jede Zeile gezeichnet wird, zum Beispiel „Jede Zeile wird gezeichnet: Kreise, Linien & Flüsse.“ oder „12 von 240 Zeilen erreichen keine Ebene.“
  • Eine Ebene, die aktiviert ist, aber nichts zeichnet, hat eine Warnung in ihrer Zeile. Wählen Sie Warum?, um Beispielzeilen zu sehen, das Feld, das sie woandershin schickt, und wie Sie es beheben.
  • Wenn zwei Ebenen um dieselben Zeilen konkurrieren, enthält die Erklärung ein fertiges DAX-Measure, geschrieben mit Ihren eigenen Tabellen- und Spaltennamen, das in den Zeilen einer Ebene leer ist. Wählen Sie Kopieren, erstellen Sie daraus ein neues Measure, und verwenden Sie es anstelle des Felds.
Der Ebenen-Manager erklärt, warum Kreise keine der Zeilen zeichnet: Jede Zeile füllt auch Ziel-Längengrad aus, daher werden die Zeilen als Linien behandelt
Der Ebenen-Manager zeigt, warum eine Ebene nichts zeichnet

Siehe Ihre Daten prüfen.

Wenn während der Bearbeitung keine Zeile eine aktivierte Ebene erreicht, zeigt die Karte die Ebenenhilfe „Welche Art von Karte erstellen Sie?“. Sie führt jeden Ebenentyp mit den Feldern auf, die er benötigt, und markiert diejenigen, zu denen Ihre Felder bereits passen. Siehe Ebenentyp wählen.

Häufige Fehler

Was Sie sehen Wahrscheinliche Ursache Lösung
Kreise ist aktiviert, aber nichts wird gezeichnet Jede Zeile hat auch ein Ziel, die Zeilen sind also Linien. Lassen Sie das Ziel in Kreiszeilen leer, oder aktivieren Sie Linien, wenn Sie Linien möchten.
Linien ist aktiviert, aber nichts wird gezeichnet Die Zeilen haben eine Feature-Referenz, ein Bild oder einen WKT-Wert, eine Heatmap-Gewichtung oder eine Zellgewichtung. Lassen Sie diese Felder in Linienzeilen leer.
Formen werden gezeichnet, aber die Kreise sind verschwunden Eine Spalte in Feature-Referenz hat auch in den Kreiszeilen einen Wert. Verwenden Sie eine Spalte oder ein Measure, die in Kreiszeilen leer sind.
Formen aus Dateien zeichnet nichts Die Formzeilen haben auch Koordinaten oder eine Kreisgröße. Lassen Sie sie in Formzeilen leer.
Ein Ebenentyp fehlt Die Ebene ist nicht aktiviert. Aktivieren Sie sie im Formatbereich unter Datenebenen.
Eine Zeile ist weder Kreis noch Säule Sie hat sowohl eine Kreisgröße als auch eine Säulenhöhe. Füllen Sie nur eines aus.
Zeilen zweier Typen verschmelzen zu einer Zwei Zeilen teilen sich eine ID. Power BI gruppiert sie daher zu einer Zeile mit den Feldern beider. Machen Sie die IDs eindeutig, zum Beispiel mit einem Präfix für jeden Typ.
Ein leerer Wert wurde erwartet, aber die Zeile hat einen Wert Das Feld enthält 0 oder eine Spalte mit einem Wert in jeder Zeile. Geben Sie für diese Zeilen BLANK() aus einem Measure zurück.

Tipps und Grenzen

  • Die Zeichenreihenfolge der Ebenen wird durch den Z-Index jeder Ebene festgelegt. Siehe Datenebenen im Überblick.
  • Alle Ebenen teilen sich die Zeilengrenze des Visuals. Siehe Datenzeilen und Grenzen.
  • Eine Karte, die Kontext statt Daten benötigt, etwa einen Grenzumriss oder eine Wetterebene, benötigt überhaupt keine Zeilen. Verwenden Sie eine Referenzebene.

Verwandte Themen