Está leyendo la documentación de Icon Map Lite para la versión 1.0.1.2, que aún no se ha publicado. Ir a la versión más reciente (1.0.1.1).

Combinar varias capas en un mapa

Un solo objeto visual Icon Map Lite puede dibujar varias capas de datos a la vez, por ejemplo tiendas como círculos, entregas como líneas y regiones de ventas como formas. Todas proceden de una sola tabla. Esta página explica cómo encuentra cada fila su capa, cómo crear esa tabla y qué comprobar cuando una capa no dibuja nada.

Un mapa con países como formas coloreadas, ciudades como círculos y líneas de entrega entre ellas
Formas, círculos y líneas a partir de una sola tabla

La regla

Una fila la dibuja la capa cuyos campos rellena.

Hay un único conjunto de áreas de campos y todas las capas de datos lo leen. El objeto visual examina cada fila y comprueba qué campos tienen un valor:

  • Una fila con una longitud, una latitud y un tamaño de círculo es un círculo.
  • Una fila con una longitud, una latitud y un destino es una línea.
  • Una fila que solo tiene una referencia de la entidad es una forma de un archivo o un límite integrado.
Una tabla de tres filas. La primera rellena la longitud, la latitud y el tamaño, y la dibuja Círculos. La segunda rellena la longitud, la latitud y el destino, y la dibuja Líneas. La tercera rellena solo la referencia de la entidad y la dibuja Formas desde archivos
Cada fila la dibuja la capa cuyos campos rellena

Para que una fila se dibuje deben cumplirse dos condiciones más:

  1. Los campos de las demás capas están vacíos en esa fila. Una fila de tienda que también tiene un destino deja de ser un círculo. Se trata como una línea.
  2. La capa está activada. Una fila que encaja en una capa desactivada no se dibuja.

Por tanto, para mostrar varios tipos de capa en un mapa, manténgalos en una sola tabla, dé a cada fila solo los campos de su propia capa y deje los demás vacíos.

Vacío y en blanco

Un campo está vacío en una fila cuando:

  • Es nulo en los datos, o una medida devuelve BLANK().
  • Es un valor de texto sin contenido o solo con espacios. Las tablas que proceden de archivos CSV, Excel o Power Query suelen contener texto vacío en lugar de nulos. Icon Map Lite trata ambos casos del mismo modo.
  • No se ha añadido ningún campo a esa área de campos.

El cero es un valor, no un valor en blanco. Una fila con un Tamaño del círculo de 0 sigue teniendo un tamaño de círculo.

Las columnas tienen un valor en todas las filas

Si añade una columna como Sales a Tamaño del círculo, todas las filas que tengan un valor de Sales reciben un tamaño de círculo, incluidas las filas que pretendía usar como líneas o formas. Use una columna que esté en blanco en esas filas, o una medida que devuelva un valor en blanco para ellas. Consulte Medidas en blanco para las demás filas.

Qué necesita cada capa

Todas las capas necesitan * ID (obligatorio). En esta tabla, "Peso de la celda" es el área de campos Peso de la celda (H3/S2/A5/Geohash), y "Destino" significa tanto Longitud de destino como Latitud de destino.

Capa Rellenar Dejar vacío
Círculos Longitud (X), Latitud (Y), Tamaño del círculo Destino, Imagen / WKT / GeoJSON, Referencia de la entidad, Peso del mapa de calor, Peso de la celda
Imágenes e iconos Longitud (X), Latitud (Y) y una imagen en Imagen / WKT / GeoJSON (o nada ahí cuando Origen de la imagen es Texto o emoji) Destino, Referencia de la entidad, Peso del mapa de calor, Peso de la celda, Tamaño del círculo
Mapa de calor Longitud (X), Latitud (Y), Peso del mapa de calor Destino, Tamaño del círculo, Imagen / WKT / GeoJSON, Referencia de la entidad, Peso de la celda
Columnas 3D Longitud (X), Latitud (Y), Altura de la columna Destino, Tamaño del círculo, Imagen / WKT / GeoJSON, Referencia de la entidad, Peso de la celda, Peso del mapa de calor
Celdas a partir de coordenadas Longitud (X), Latitud (Y), Peso de la celda Destino, Tamaño del círculo, Peso del mapa de calor, Imagen / WKT / GeoJSON, Referencia de la entidad
Celdas a partir de ID de celda Peso de la celda (el ID es el ID de la celda) Longitud (X), Latitud (Y) y los campos de la fila anterior
Líneas y Rutas Longitud (X), Latitud (Y), Destino Referencia de la entidad, Imagen / WKT / GeoJSON, Peso del mapa de calor, Peso de la celda
Formas desde datos Imagen / WKT / GeoJSON Longitud (X), Latitud (Y), Destino, Peso del mapa de calor, Peso de la celda, Referencia de la entidad, Tamaño del círculo
Formas desde archivos Referencia de la entidad Imagen / WKT / GeoJSON, Longitud (X), Latitud (Y), Destino, Peso del mapa de calor, Peso de la celda, Tamaño del círculo

Aspectos que conviene conocer:

  • Información sobre herramientas y Grupo del clúster nunca deciden a qué capa va una fila. Rellénelos en cualquier fila.
  • Líneas con círculos. Una fila de línea puede tener un Tamaño del círculo. Con Incluir círculos en: establecido en la configuración de Líneas, se dibujan círculos en los extremos de la línea.
  • Círculo o columna. Una fila con un Tamaño del círculo nunca se dibuja como columna. Dé a las filas de columna una Altura de la columna y ningún Tamaño del círculo, y dé a las filas de círculo un Tamaño del círculo y ninguna Altura de la columna.
  • Las imágenes y las formas comparten un área de campos. Una fila con una imagen y coordenadas es una imagen. Una fila con texto WKT o GeoJSON y sin coordenadas es una forma.

Un ejemplo práctico: tiendas y entregas

Quiere mostrar las tiendas como círculos con el tamaño definido por las ventas, y las entregas como líneas desde un almacén hasta cada tienda. La tabla necesita una fila para cada tienda y una fila para cada entrega:

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
  • Las filas de tienda rellenan las coordenadas y Size, y dejan vacío el destino. Las dibuja Círculos.
  • Las filas de entrega rellenan las coordenadas y el destino, y dejan vacío Size. Las dibuja Líneas.

Añada los campos al objeto visual, cada columna en el área de campos correspondiente, con Size en Tamaño del círculo. Después, en el panel Formato, expanda Capas de datos y active Círculos y Líneas.

Novedad en 1.0.1.2 También puede añadir las dos capas en el Administrador de capas. Consulte Añadir una capa.

Para añadir las regiones como tercera capa, añada una fila para cada región que rellene solo la referencia de la entidad, y añada esa columna a Referencia de la entidad:

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

Después active Formas desde archivos y cargue el archivo de regiones. Si su tercera capa son países, estados o provincias, elija en su lugar uno de los conjuntos de límites integrados y ponga el código del país o del estado en Referencia de la entidad.

Crear la tabla

En la mayoría de los modelos, las tiendas, las entregas y las regiones son tablas independientes. Power BI las necesita como una sola tabla para el objeto visual, así que combínelas. Dé a cada fila un ID único: si una tienda y una entrega pudieran compartir un ID, añada un prefijo.

Power Query: anexar las tablas

Dé a las columnas los mismos nombres en cada consulta y, después, use Anexar consultas para crear una nueva. Las columnas que una consulta no tiene se rellenan con nulos, que es lo que necesita el mapa.

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: una tabla calculada con UNION

UNION apila tablas cuyas columnas están en el mismo orden. Use BLANK() para las columnas que un tipo de fila no utiliza.

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 ()
    )
)

Medidas en blanco para las demás filas

Cuando el valor de un área de campos procede de una columna que tiene un valor en todas las filas, envuélvalo en una medida que devuelva un valor en blanco para las filas de las demás capas. IF sin tercer argumento devuelve BLANK():

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

Coloque la medida en Tamaño del círculo en lugar de la columna. Las filas de tienda reciben un tamaño y se dibujan como círculos. Las filas de entrega reciben un valor en blanco y se dibujan como líneas. El mismo patrón sirve para cualquier área de campos, por ejemplo un destino que esté en blanco salvo que la fila sea una entrega:

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

Elegir capas con una segmentación de datos

Como la capa depende de los datos, una segmentación de datos puede activar y desactivar capas para los usuarios del informe. Añada una segmentación de datos sobre la columna Type de la tabla de ejemplo. Al seleccionar Store se muestran solo los círculos, y al seleccionar Delivery se muestran solo las líneas, porque las demás filas se filtran antes de llegar al mapa.

Comprobar qué dibuja cada capa

Novedad en 1.0.1.2 El Administrador de capas muestra cómo se han repartido sus filas. Ábralo desde panel Formato > Administrador de capas > Abrir el Administrador de capas.

  • El panel Sus datos enumera las filas y los campos que ha añadido, e indica si se dibujan todas las filas o cuántas filas no llegan a ninguna capa. Cuando el mapa tiene algo que comunicar, como un archivo que no puede leer, también muestra notas del mapa.
  • En una capa que no dibuja nada, una explicación muestra filas de ejemplo agrupadas por los campos que rellenan, y cómo corregirlas.
  • Cuando dos capas compiten por las mismas filas, la explicación incluye una plantilla de medida DAX que está en blanco en las filas de una de las capas.

La tarjeta Diagnósticos y Mostrar el resumen de configuración de datos desaparecen en la versión 1.0.1.2: el Administrador de capas los sustituye. Consulte Comprobar sus datos.

Cuando ninguna fila llega a una capa activada mientras edita, el mapa muestra la guía ¿Qué tipo de mapa va a crear?. Enumera cada tipo de capa con los campos que necesita y marca los que ya encajan con sus campos. Su mosaico Combinar capas enlaza con esta página. Consulte Elegir un tipo de capa.

Errores habituales

Lo que se ve Causa probable Solución
Círculos está activada pero no se dibuja nada Todas las filas tienen también un destino, así que son líneas. Deje el destino en blanco en las filas de círculo, o active Líneas si lo que quiere son líneas.
Líneas está activada pero no se dibuja nada Las filas tienen una Referencia de la entidad, una imagen o un valor WKT, un Peso del mapa de calor o un peso de celda. Deje esos campos en blanco en las filas de línea.
Las formas se dibujan pero los círculos han desaparecido Una columna de Referencia de la entidad tiene un valor también en las filas de círculo. Use una columna o una medida que esté en blanco en las filas de círculo.
Formas desde archivos no dibuja nada Las filas de forma también tienen coordenadas o un Tamaño del círculo. Déjelos en blanco en las filas de forma.
Las imágenes no dibujan nada Los valores de imagen son vínculos, o las filas también tienen un Tamaño del círculo. Use URI de datos o texto SVG, y deje Tamaño del círculo en blanco. Consulte Imágenes e iconos.
Las filas pensadas como columnas no se dibujan como columnas También tienen un Tamaño del círculo. Deje Tamaño del círculo en blanco en las filas de columna.
Falta un tipo de capa La capa no está activada. Actívela en Capas de datos, en el panel Formato.
Las filas de dos tipos se fusionan en una Dos filas comparten un ID, así que Power BI las agrupa en una fila con los campos de ambas. Haga que los ID sean únicos, por ejemplo con un prefijo para cada tipo.
Se esperaba un valor en blanco pero la fila tiene un valor El campo contiene 0, o es una columna con un valor en todas las filas. Devuelva BLANK() desde una medida para esas filas.

Consejos y límites

Contenido relacionado