Você está lendo a documentação do Icon Map Lite para a versão 1.0.1.2, que ainda não foi lançada. Ir para a versão mais recente (1.0.1.1).

Combinar várias camadas em um mapa

Um único visual Icon Map Lite pode desenhar várias camadas de dados ao mesmo tempo, por exemplo lojas como círculos, entregas como linhas e regiões de vendas como formas. Todas vêm de uma só tabela. Esta página explica como cada linha encontra a sua camada, como criar essa tabela e o que verificar quando uma camada não desenha nada.

Um mapa com países como formas coloridas, cidades como círculos e linhas de entrega entre elas
Formas, círculos e linhas a partir de uma só tabela

A regra

Uma linha é desenhada pela camada cujos campos ela preenche.

Existe um único conjunto de poços de campos, e todas as camadas de dados o leem. O visual examina cada linha e verifica quais campos têm valor:

  • Uma linha com longitude, latitude e tamanho do círculo é um círculo.
  • Uma linha com longitude, latitude e destino é uma linha no mapa.
  • Uma linha que tem apenas uma referência da feição é uma forma de um arquivo ou um limite integrado.
Uma tabela de três linhas. A primeira preenche longitude, latitude e tamanho e é desenhada por Círculos. A segunda preenche longitude, latitude e destino e é desenhada por Linhas. A terceira preenche apenas a referência da feição e é desenhada por Formas de arquivos
Cada linha é desenhada pela camada cujos campos ela preenche

Outras duas condições precisam ser atendidas para que uma linha seja desenhada:

  1. Os campos das outras camadas estão vazios nessa linha. Uma linha de loja que também tem um destino deixa de ser um círculo. Ela é tratada como uma linha no mapa.
  2. A camada está ativada. Uma linha que se encaixa em uma camada desativada não é desenhada.

Portanto, para mostrar vários tipos de camada em um mapa, mantenha-os em uma só tabela, dê a cada linha apenas os campos da sua própria camada e deixe os outros vazios.

Vazio e em branco

Um campo está vazio em uma linha quando:

  • É nulo nos dados, ou uma medida retorna BLANK().
  • É um valor de texto sem nada, ou só com espaços. As tabelas que vêm de arquivos CSV, do Excel ou do Power Query muitas vezes contêm texto vazio em vez de nulo. O Icon Map Lite trata os dois da mesma forma.
  • Nenhum campo foi adicionado a esse poço de campos.

Zero é um valor, não um valor em branco. Uma linha com Tamanho do círculo igual a 0 continua tendo um tamanho de círculo.

As colunas têm um valor em todas as linhas

Se você adicionar uma coluna como Sales a Tamanho do círculo, toda linha que tiver um valor de Sales recebe um tamanho de círculo, inclusive as linhas que você pretendia usar como linhas no mapa ou formas. Use uma coluna que esteja em branco nessas linhas, ou uma medida que retorne em branco para elas. Consulte Medidas em branco para as outras linhas.

Do que cada camada precisa

Toda camada precisa de * ID (obrigatório). "Peso da célula" nesta tabela é o poço de campos Peso da célula (H3/S2/A5/Geohash), e "Destino" significa tanto Longitude de destino quanto Latitude de destino.

Camada Preencher Deixar vazio
Círculos Longitude (X), Latitude (Y), Tamanho do círculo Destino, Imagem / WKT / GeoJSON, Referência da feição, Peso do mapa de calor, Peso da célula
Imagens e ícones Longitude (X), Latitude (Y) e uma imagem em Imagem / WKT / GeoJSON (ou nada ali quando Fonte da imagem é Texto ou emoji) Destino, Referência da feição, Peso do mapa de calor, Peso da célula, Tamanho do círculo
Mapa de calor Longitude (X), Latitude (Y), Peso do mapa de calor Destino, Tamanho do círculo, Imagem / WKT / GeoJSON, Referência da feição, Peso da célula
Colunas 3D Longitude (X), Latitude (Y), Altura da coluna Destino, Tamanho do círculo, Imagem / WKT / GeoJSON, Referência da feição, Peso da célula, Peso do mapa de calor
Células a partir de coordenadas Longitude (X), Latitude (Y), Peso da célula Destino, Tamanho do círculo, Peso do mapa de calor, Imagem / WKT / GeoJSON, Referência da feição
Células a partir de IDs de célula Peso da célula (o ID é o ID da célula) Longitude (X), Latitude (Y) e os campos da linha acima
Linhas e Rotas Longitude (X), Latitude (Y), Destino Referência da feição, Imagem / WKT / GeoJSON, Peso do mapa de calor, Peso da célula
Formas dos dados Imagem / WKT / GeoJSON Longitude (X), Latitude (Y), Destino, Peso do mapa de calor, Peso da célula, Referência da feição, Tamanho do círculo
Formas de arquivos Referência da feição Imagem / WKT / GeoJSON, Longitude (X), Latitude (Y), Destino, Peso do mapa de calor, Peso da célula, Tamanho do círculo

Pontos que vale conhecer:

  • Dicas de ferramenta e Grupo do cluster nunca decidem para qual camada uma linha vai. Preencha-os em qualquer linha.
  • Linhas com círculos. Uma linha de dados da camada Linhas pode ter um Tamanho do círculo. Com Incluir círculo(s) em: definido nas configurações de Linhas, são desenhados círculos nas extremidades da linha no mapa.
  • Círculo ou coluna. Uma linha com Tamanho do círculo nunca é desenhada como coluna. Dê às linhas de coluna uma Altura da coluna e nenhum Tamanho do círculo, e dê às linhas de círculo um Tamanho do círculo e nenhuma Altura da coluna.
  • Imagens e formas usam o mesmo poço de campos. Uma linha com uma imagem e coordenadas é uma imagem. Uma linha com texto WKT ou GeoJSON e sem coordenadas é uma forma.

Um exemplo prático: lojas e entregas

Você quer as lojas como círculos dimensionados pelas vendas, e as entregas como linhas de um depósito até cada loja. A tabela precisa de uma linha de dados para cada loja e uma 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
  • As linhas de loja preenchem as coordenadas e Size, e deixam o destino vazio. A camada Círculos as desenha.
  • As linhas de entrega preenchem as coordenadas e o destino, e deixam Size vazio. A camada Linhas as desenha.

Adicione os campos ao visual, cada coluna no poço de campos correspondente, com Size em Tamanho do círculo. Depois, no painel Formato, expanda Camadas de dados e ative Círculos e Linhas.

Novo na 1.0.1.2 Em vez disso, você pode adicionar as duas camadas no Gestor de camadas. Consulte Adicionar uma camada.

Para adicionar as regiões como terceira camada, adicione uma linha para cada região que preencha apenas a referência da feição, e adicione essa coluna a Referência da feição:

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

Depois ative Formas de arquivos e carregue o arquivo das regiões. Se a sua terceira camada for de países, estados ou províncias, escolha um dos conjuntos de limites integrados e coloque o código do país ou do estado em Referência da feição.

Criar a tabela

Na maioria dos modelos, as lojas, as entregas e as regiões são tabelas separadas. O Power BI precisa delas como uma só tabela para o visual, portanto combine-as. Dê a cada linha um ID exclusivo: se uma loja e uma entrega puderem ter o mesmo ID, adicione um prefixo.

Power Query: acrescentar as tabelas

Dê os mesmos nomes às colunas em cada consulta e use Acrescentar Consultas como Novas. As colunas que uma consulta não tem são preenchidas com nulo, que é o que o mapa precisa.

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: uma tabela calculada com UNION

UNION empilha tabelas cujas colunas estão na mesma ordem. Use BLANK() para as colunas que um tipo de linha não usa.

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 em branco para as outras linhas

Quando o valor de um poço de campos vem de uma coluna que tem valor em todas as linhas, envolva-o em uma medida que retorne em branco para as linhas das outras camadas. IF sem o terceiro argumento retorna BLANK():

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

Coloque a medida em Tamanho do círculo no lugar da coluna. As linhas de loja recebem um tamanho e são desenhadas como círculos. As linhas de entrega recebem um valor em branco e são desenhadas como linhas no mapa. O mesmo padrão funciona para qualquer poço de campos, por exemplo um destino que fica em branco a menos que a linha seja uma entrega:

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

Escolher camadas com uma segmentação de dados

Como a camada acompanha os dados, uma segmentação de dados pode ativar e desativar camadas para os usuários do relatório. Adicione uma segmentação de dados na coluna Type da tabela de exemplo. Selecionar Store mostra apenas os círculos, e selecionar Delivery mostra apenas as linhas no mapa, porque as outras linhas de dados são filtradas antes de chegarem ao mapa.

Verificar o que cada camada desenha

Novo na 1.0.1.2 O Gestor de camadas mostra como as suas linhas foram distribuídas. Abra-o em Painel Formato > Gestor de camadas > Abrir o Gestor de camadas.

  • O painel Os seus dados lista as linhas e os campos que você adicionou e informa se todas as linhas são desenhadas ou quantas linhas não chegam a nenhuma camada. Quando o mapa tem algo a informar, como um arquivo que não consegue ler, ele também mostra notas do mapa.
  • Para uma camada que não desenha nada, uma explicação mostra linhas de exemplo agrupadas pelos campos que preenchem, e como corrigi-las.
  • Quando duas camadas disputam as mesmas linhas, a explicação inclui um modelo de medida DAX que fica em branco nas linhas de uma das camadas.

O cartão Diagnósticos e Mostrar resumo da configuração de dados deixam de existir na 1.0.1.2: o Gestor de camadas os substitui. Consulte Verificar os seus dados.

Quando nenhuma linha chega a uma camada ativada enquanto você edita, o mapa mostra o guia Que tipo de mapa quer criar?. Ele lista cada tipo de camada com os campos de que precisa e marca os que os seus campos já atendem. O bloco Combinar camadas leva a esta página. Consulte Escolher um tipo de camada.

Erros comuns

O que você vê Causa provável Correção
Círculos está ativada, mas nada é desenhado Todas as linhas também têm um destino, portanto são linhas no mapa. Deixe o destino em branco nas linhas de círculo, ou ative Linhas se é isso que você quer.
Linhas está ativada, mas nada é desenhado As linhas de dados têm uma Referência da feição, uma imagem ou valor WKT, um Peso do mapa de calor ou um peso da célula. Deixe esses campos em branco nas linhas da camada Linhas.
As formas são desenhadas, mas os círculos sumiram Uma coluna em Referência da feição tem valor também nas linhas de círculo. Use uma coluna ou medida que fique em branco nas linhas de círculo.
Formas de arquivos não desenha nada As linhas de forma também têm coordenadas ou um Tamanho do círculo. Deixe-os em branco nas linhas de forma.
As imagens não desenham nada Os valores de imagem são links, ou as linhas também têm um Tamanho do círculo. Use URIs de dados ou texto SVG e deixe Tamanho do círculo em branco. Consulte Imagens e ícones.
As linhas que deveriam ser colunas não são desenhadas como colunas Elas também têm um Tamanho do círculo. Deixe Tamanho do círculo em branco nas linhas de coluna.
Falta um tipo de camada A camada não está ativada. Ative-a em Camadas de dados, no painel Formato.
Linhas de dois tipos se fundem em uma Duas linhas têm o mesmo ID, então o Power BI as agrupa em uma linha com os campos de ambas. Torne os IDs exclusivos, por exemplo com um prefixo para cada tipo.
Esperava-se um valor em branco, mas a linha tem um valor O campo contém 0, ou é uma coluna com valor em todas as linhas. Retorne BLANK() de uma medida para essas linhas.

Dicas e limites

Relacionados