Combinar várias camadas em um mapa
Um único visual Icon Map Pro 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.

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.
Outras duas condições precisam ser atendidas para que uma linha seja desenhada:
- 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.
- 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 Pro 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.
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. "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, Altura da coluna |
| Imagens e ícones | Longitude (X), Latitude (Y), Imagem / WKT / GeoJSON | 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 | 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 |
| Tiles vetoriais | Referência da feição | Imagem / WKT / GeoJSON, Peso do mapa de calor, Peso da célula, Tamanho do círculo |
| Camadas do catálogo | Referência da feição | Nada |
| Camadas do ArcGIS | Referência da feição | Nada |
Pontos que vale conhecer:
- Dicas de ferramenta, Grupo do cluster, Peso da feição e Data e hora do terminadouro do dia 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 que tem tanto Tamanho do círculo quanto Altura da coluna não é nenhum dos dois. Preencha apenas um deles.
- 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.
- A Referência da feição é compartilhada. Formas de arquivos, tiles vetoriais, camadas do catálogo e camadas do ArcGIS fazem a associação por Referência da feição. Uma linha com uma referência da feição é oferecida a cada uma dessas camadas que estiver ativada, de modo que a mesma linha pode colorir um limite em mais de uma delas.
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 ative as duas camadas.
No painel Formato, expanda Camadas de dados e ative Círculos e Linhas.
Para adicionar as regiões de vendas 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 adicione o arquivo das regiões.
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 leitores. 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
No painel Formato, expanda Diagnósticos e ative Mostrar resumo da configuração de dados. O resumo mostra quantas linhas o Power BI enviou ao visual, quantas linhas cada camada desenha, as linhas cuja camada não pôde ser determinada e avisos, como uma camada que tem linhas mas está desativada.
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. 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. |
| Falta um tipo de camada | A camada não está ativada. | Ative-a em Camadas de dados, no painel Formato. |
| Uma linha não é nem círculo nem coluna | Ela tem tanto Tamanho do círculo quanto Altura da coluna. | Preencha apenas um. |
| 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
- A ordem de desenho das camadas é definida pelo Z Index de cada camada. Consulte Visão geral das camadas de dados.
- Todas as camadas compartilham o limite de linhas do visual. Consulte Linhas de dados e limites.
- Um mapa que precisa de contexto em vez de dados, como o contorno de um limite ou uma camada meteorológica, não precisa de linhas. Use uma camada de referência.