17 de julho de 2016

Separe CNPJs e CPFs com o filtro do Excel

Como usar o filtro do Excel para preencher uma lista de valores em uma coluna nova.

Para facilitar a apuração para uma matéria, uma tabela de doações de campanha precisava ter uma coluna identificando os registros como CNPJ ou CPF.

Normalmente tabelas de prestação de contas vêm apenas com o número, e não especificam se a doação veio de uma pessoa física ou pessoa jurídica. O mesmo acontece em tabelas de gastos. Na verdade, se o documento veio identificado com nome ou razão social, você já pode ficar feliz. A Assembleia Legislativa do Paraná, por exemplo, publica a prestação de contas dos deputados estaduais sem identificação, apenas com o número.

Com um truque simples no excel é possível acrescentar uma coluna com a diferenciação:

Passo a passo detalhado abaixo:

Padrão de formatação de CPNJ/CPF

Geralmente, os registros de pessoa física e jurídica vem no seguinte formato:

Padrão de CNPJ

XX.XXX.XXX/0001-XX

14 dígitos

Padrão de CPF

XXX.XXX.XXX-XX

11 dígitos

O CNPJ tem barra e normalmente aquele "mil ao contrário", mas não é regra. O número de dígitos também difere entre os dois, mas talvez existam cnpjs ou cpfs fora do padrão. Desconfie sempre das tabelas.

Como formatar CPF no Excel

Depois de colocar uma lista de CPFs ou CNPJs no excel, eles podem ter perdido a formatação com pontos, traços e barras. Veja abaixo como formatar um número no excel como CPF:

  1. Clique com o botão direito na célula que contém o CPF e vá na opção "Formatar células"
  2. Para isso você também pode usar o atalho Ctrl + 1 (ou Cmd + 1 no Excel for Mac) ou usar a formatação de número na barra de ferramentas


  3. Selecione a opção "Personalizado" ou "Custom"
  4. Digite ou copie e cole esse código para formatar o CPF:
    000"."###"."###-##
  5. Pronto. Qualquer número com 11 dígitos inserido nessa célula será formatado corretamente como um CPF

Como formatar CNPJ no Excel

  1. Clique com o botão direito na célula que contém o CNPJ e vá na opção "Formatar células"
  2. Selecione a opção "Personalizado"
  3. Digite ou cole esse código para formatar o CPF:
    00\.000\.000\/0000-00
  4. Pronto. Qualquer número com 14 dígitos inserido nessa célula será formatado corretamente como um CNPJ

Fórmula para separar CPF E CNPJ no Excel

Use essa máscara para formatar números que possam ser tanto CPFs como CNPJs inseridos na mesma célula. O código contém uma condicional que aplica uma ou outra formatação com base na diferença no número de dígitos
  1. Clique com o botão direito na célula com o número do CPF ou CNPJ e vá na opção "Formatar células"
  2. Selecione a opção "Personalizado"
  3. Digite ou cole esse código para formatar o CPF:
    [<=99999999999]000\.000\.000-00;00\.000\.000\/0000-00

A documentação a seguir se aplica mais a limpeza e identificação de listas já prontas de CPF e CNPJ. Foi um processo realizado com dados públicos, como tabelas de doação de campanha ou de prestadores de serviço para deputados.

Como diferenciar CNPJ de CPF

  1. Verifique a qualidade dos dados

    Passe o olho na tabela para verificar se informações parecidas estão formatadas do mesmo jeito.

    Neste caso a tabela estava bem organizada, os números estão formatados com um padrão correto (pontos, traços, barras, ...) e mesma quantidade de dígitos.

  2. Identifique um padrão para poder separar os dados

    Se a tabela não vem com uma coluna "Pessoa Física/Jurídica", é preciso criá-la. É possível fazer isso encontrando a diferença entre os dois tipos de número. Uma diferença fácil é a quantidade de dígitos, mas isso não é tão simples de "selecionar" no excel. Já a presença da barra (/) nas células de CPNJ é um padrão fácil de ser selecionado.

Como separar CNPJ e CPF no Excel

  1. Ative o filtro no Excel

    Excel - Ativar Filtro
    • Selecione a tabela toda (Ctrl + A / Cmd + A)
    • Certifique-se de que sua tabela não tem "buracos" (linhas ou colunas totalmente vazias). Se tiver, a seleção da tabela ou o filtro podem não funcionar. Se tiver dúvida, faça a seleção com o mouse.
    • Dados > Filtro (Ctrl + Shift + F / Cmd + Shift + F)
  2. Filtre os CNPJs

    Excel - Filtro ativado
    • Clique no filtro da coluna CPF/CNPJ (botão com a seta pra baixo no cabeçalho)
    • Digite a barra "/". Acho que no Windows a janela do filtro precisa de um OK a mais.
    • Quando o filtro funcionar, a tabela irá exibir apenas linhas nas quais as células da coluna selecionada contenham o caractere barra. Ou seja, neste caso, linhas referentes a CNPJs.
    • Quando o filtro está ativado, o número das linhas na esquerda muda de cor, para indicar que existem linhas que estão ocultas. O ícone do filtro também muda na coluna onde ele foi ativado.
  3. Crie uma coluna nova

    • Dê um nome à coluna nova "CNPJ ou CPF", "PF ou PJ", ou algo assim.
    • Ao lado do primeiro CNPJ encontrado, digite "CNPJ" ou "Pessoa Jurídica".
    • Preencha todas as células abaixo ("Fill down") com a mesma informação. Clique no quadradinho no canto da célula e arraste para baixo até o final da tabela.
    • Excel - Fill Down
    • Dica para um Fill Down mais rápido: se sua tabela está "sem buracos" (células vazias), dê dois cliques no quadradinho que ele irá se preencher até o final da tabela (ou até encontrar uma célula vazia à esquerda). Sempre vá até o final pra ver e garantir que deu certo.
  4. Limpe o filtro

    • abra o filtro novamente e "Limpar filtro" ou "selecionar tudo"
  5. Use o filtro na coluna nova

    • Agora que você já preencheu CNPJ na coluna nova, é só preencher "CPF" nas células que ficaram vazias.
    • Clique no filtro da coluna nova
    • Desmarque "CNPJ" e deixe marcadas a células vazias.
    • Digite CPF na primeira célula e faça o Fill Down novamente.
  6. Desative o filtro e pronto!

Avançado: Limpar listas grandes de CNPJs e CPFs

Essa parte é um epílogo um pouco mais avançado para quem usa Mac. O script limpa a formatação dos números (pontos, barras, traços) deixando só os dígitos e acrescentando uma coluna de texto identificando se é CNPJ ou CPF.

  • Use o TextWrangler (editor de texto para Mac)
  • Copie do Excel apenas a coluna de cnpjs e cpfs
  • Cole a lista no Textwrangler
  • Baixe esse applescript e aperte play.
  • A lista está pronta com os números limpos e uma coluna a mais
  • Insira uma coluna a mais no excel (já que agora são duas) e cole de volta o conteúdo lá.

15 de junho de 2016

Tableau responsivo

Veja como fazer um arquivo do Tableau Public funcionar bem em telas pequenas e dispositivos touch screen, como em um smartphone (how to make a mobile responsive tableau dataviz).

Responsive Tableau Viz

Para quem tem pressa (TLDR)

Se você não tem tempo, leia os dois itens extremamente necessários:

Com isso, seu tableau já fica “flexível” para vários tamanhos. Agora tire um tempo para ver como fazer isso ficar bom:

Como fazer um tableau “mobile friendly”

Por padrão, um arquivo do Tableau não se adapta sozinho a uma tela de smartphone, mesmo que você deixe o tamanho “automático”. É preciso fazer alguns ajustes, e principalmente, pensar em simplificar a vida de quem vai visualizar e interagir com as informações numa tela limitada.

É provável que, com o Tableau, você não consiga um resultado 100% satisfatório e irrite algum usuário que vai tentar interagir com o que você produzir, principalmente à medida que a complexidade dos dados e funcionalidades aumenta.

Mas com as dicas a seguir é possível fazer algo bem aceitável. Detalhei bem o texto para explicar as razões de cada decisão, mas na correria, só os títulos e as imagens já devem ajudar:

Requisitos básicos

Não sei se precisa comentar, mas:

  • Publique sempre seu conteúdo em um dashboard (painel).

    Usando sheets (planilhas) soltas não tem como controlar e planejar com exatidão o que vai aparecer ou não no resultado publicado. Jogue as sheets num dashboard, ou em vários dashboards (vários dashboards podem ser publicados em abas, ou em uma “história”)

  • Use sempre o tipo de layout “tiled” (Lado a lado), e não “floating” (Flutuante)

    Porque sim. Não sei como objetos flutuantes irão se comportar com tamanhos diferentes de tela; parece que são mais imprevisíveis.

Agora, as dicas:

1. Um layout, várias larguras

Uma alternativa para atender a todos os tipos de usuário é criar duas versões, uma larga e uma estreita, e criar uma condicional (em css, js, …) para que o seu site exiba uma ou outra de acordo com o dispositivo que vai acessar. Parece uma solução ruim e trabalhosa.

Para facilitar o trabalho de quem vai projetar a visualização, prefiro pensar que o ideal é criar uma versão só que se adapte a vários tamanhos de tela.

Pra isso é preciso pensar primeiro na situação mais limitada – a tela pequena do celular na posição retrato–, e depois o restante fica mais simples de resolver.

E acredite, a limitação é boa para reduzir a quantidade de coisas desnecessárias que colocamos nas visualizações só porque “tem espaço”.

Exemplos

Veja alguns exemplos de dashboards preparados para funcionar em telas grandes e pequenas:

Abra no celular ou diminua a janela do navegador para ver como se comportam.

Todos esses exemplos foram pensados para funcionar em qualquer largura na faixa de 320px a 1000px de largura. Ou seja, a mesma informação consegue ser aberta em um pequeno Android Moto G, em um Iphone 6 plus, ou um computador desktop com tela widescreen.

2. Defina o tamanho do dashboard

  1. Escolha tamanho “Intervalo” (range) Defina o tamanho do dashboard
  2. Defina a largura menor: 320px (celular)
  3. Defina a largura máxima: 1000px (desktop)
  4. Use a mesma altura mínima e máxima. 800px e 800px, por exemplo. O tamanho vai depender da quantidade de coisa que você tiver ali dentro. Se as alturas não forem iguais, você corre o risco de criar mais uma rolagem interna desnecessária, quando estiver em uma tela menor.

Teste o tamanho

Definido o tamanho do dashboard, você pode testar como fica a visualização em diferentes tamanhos, ajustando a largura da janela do aplicativo do Tableau.

Bug

Depois de ajustar a janela ou clicar em algum lugar que não sei bem onde, o Tableau tem algum bug que faz com que o tamanho volte a ser “Automático”, ao invés do “Intervalo” já definido.

Defina de novo e bola pra frente.

Novo tamanho, novo código

Se mudar o tamanho do dashboard (ou o nome), copie um novo código de embed para não ter problemas.

3. Evite rolagens

Use o mínimo de rolagens possível.

O seu conteúdo já vai ser rolado na vertical, na maioria das vezes. Se tiver um pouco de altura, já fica maior do que o que cabe no celular e o leitor vai ter que rolar pra ver o conteúdo todo. Normal, é como funcionam os textos.

Além dessa rolagem vertical, que é quase inevitável, evite quaisquer outras rolagens desnecessárias, como rolagens horizontais, ou muitas listas de coisas dentro do dashboard.

O ideal é que todos os elementos caibam inteiros dentro do dashboard (mesmo que ele fique alto), e o leitor só precise usar a rolagem natural da página.

4. Pense horizontalmente

Para eliminar rolagens, você precisa aproveitar ao máximo espaço horizontal. Tente usar a largura completa para todos os elementos.

Exemplo de tableau responsivo

  • Evite a rolagem horizontal

    Se você fizer coisas mais largas que a tela do celular, o leitor além de ter que rolar na vertical, vai ter que rolar também na horizontal e vai ficar “sambando” dentro do gráfico, como se estivesse em um mapa.

  • Não coloque coisas lado a lado

    Esqueça a enorme quantidade de filtros que você podia colocar na lateral de um gráfico e ficava tão legal numa largura desktop. Simplifique, escolha um ou outro, e coloque o filtro antes ou depois do gráfico (acima ou abaixo)

  • Pense em elementos que ocupem a largura inteira

5. Ajuste os elementos

Faça os elementos se ajustarem sozinhos.

Por padrão, as sheets (planilhas) que você arrasta no dashboard (painel) tem o tamanho natural que o gráfico mesmo gerou ou o tamanho que você redimensionou lá na edição da planilha.

image

Quando você arrasta as sheets no dashboard, elas caem dentro de uma moldura (container). Conforme você redimensiona o container e o conteúdo dentro fica maior que o container, ele é cortado, ou gera rolagem.

  1. Clique nas opções do objeto (aquela seta minúscula, perto do X no canto superior direito)
  2. Ajustar > Exibição inteira

Há quatro opções de ajuste ali. Explico:

  • Normal: opção padrão. Tamanho original. Sujeito a corte ou rolagem não planejada.
  • Ajustar largura: ideal para listas. A altura fica original e a largura fica em “100%” do tamanho da janela. Ou seja, o tableau vai comprimir tudo o que você jogar ali na largura que o leitor tiver disponível para ver é bom para quando você quer manter uma rolagem vertical. Exemplo: Uma lista muito grande. Você garante que a largura toda fica visível (e o leitor vê todos os números sem precisar rolar para o lado), mas você já sabe que vai haver uma rolagem dentro do seu tableau.
  • Ajustar altura: evite. A altura fica comprimida ao espaço disponível. Vai gerar rolagem horizontal. Não costumo usar. Mas posso imaginar uma lista de fotos de políticos, como uma galeria, por exemplo. Ou um gráfico de barras muito horizontal.
  • Exibição inteira: o mais indicado. O conteúdo vai ser comprimido na altura e largura. nada vai ser cortado e não vai gerar rolagem. Preocupe-se apenas em deixar o container de um tamanho que o conteúdo seja legível. Ou o conteúdo simples o suficiente para o tamanho.

Conteúdo exibido por completo após o ajuste com “Exibição inteira”: Conteúdo exibido por completo após ajuste

6. Simplifique

Diminua o tamanho dos elementos

  • Use filtros condensados Filtro suspenso

  • Não exagere no tamanho de cada gráfico.

    Tente fazer coisas que caibam em uma rolagem de celular (para que o leitor não fique tendo que ir e voltar pra ler o mesmo gráfico)

Use menos elementos

  • Prefira menos elementos no layout

  • Personalize o tooltip (“dica de ferramenta”)

    Edite o texto padrão e deixe apenas as informações importants. Crie hierarquia entre elas. É um campo de layout livre.

  • Desabilite as opções de tooltip

    No canto da janela de edição do tooltip há um botão “Incluir botões de comando” (Include command buttons). A única função disso é habilitar mais botões para o usuário apertar sem querer e estragar tudo. Desmarque.

    command-buttons

  • Reduza o número de labels (rótulos)

    Prefira gráficos sem labels, ou com labels sucintas e simplificadas. Para alguns tipos de gráficos há a opção de mostrar rótulos apenas para alguns valores, como máx./mín. ou valores finais. Menos Labels

7. Deixe espaço para a rolagem

O tableau é um software muito bom. Tem funcionalidades poderosas. Mas a interação com um gráfico publicado é muito complicada e cheia de locais “onde não dá pra clicar”, coisas que você clica e some tudo, etc. No celular ou dispositivos touch screen, os problemas aumentam. A rolagem é especialmente triste.

O problema da rolagem

Veja meu sucesso tentando rolar a página em um dos exemplos que dei acima:

A experiência é trágica. O que era pra ser um simples scroll vira clique ou seleção de coisas. Se fosse um mapa, o resultado seria ainda pior. Mesmo a rolagem no desktop ainda é um problema quando encontra um conteúdo como um Google Maps no meio do caminho.

Solução

A única solução que encontrei é deixar uma lateral livre e torcer para que o usuário adivinhe que pode clicar ali para rolar sem estragar tudo.

Solução alternativa para o scroll no tableau

  1. No dashboard, arraste um novo objeto “Em branco” (blank) na lateral direita de tudo Inserir objeto em branco

  2. Redimensione a largura para ficar bem estreita, o suficiente para alguém conseguir usar o dedo para “arrastar” a tela no celular.

  3. Diminua a janela do aplicativo para ver como fica

8. Ajuste o código de embed

O código padrão do Tableau não funciona para vários tamanhos mesmo que você defina um tamanho flexível no seu dashboard. É preciso fazer dois ajustes:

  1. Esteja no dashboard a ser publicado antes de salvar
  2. Salve o Tableau Public.
  3. Na página que abrir no navegador, copie o código de compartilhar (Código inserido): Tableau - Embed code
  4. Encontre os dois lugares onde a largura é especificada no código e troque a medida por 100%.
  5. No exemplo abaixo:

    • width: 904px; vira width: 100%;
    • width='904' vira width='100%'
  6. O exemplo, antes do ajuste:

    script type='text/javascript' src='https://public.tableau.com/javascripts/api/viz_v1.js'></script><div class='tableauPlaceholder' style='width: 904px; height: 1295px;'><noscript><a href='#'><img alt=' ' src='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;Ti&#47;TiroteiosnosEUA2013-2016&#47;Resumo&#47;1_rss.png' style='border: none' /></a></noscript><object class='tableauViz' width='904' height='1295' style='display:none;'><param name='host_url' value='https%3A%2F%2Fpublic.tableau.com%2F' /> <param name='site_root' value='' /><param name='name' value='TiroteiosnosEUA2013-2016&#47;Resumo' /><param name='tabs' value='yes' /><param name='toolbar' value='yes' /><param name='static_image' value='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;Ti&#47;TiroteiosnosEUA2013-2016&#47;Resumo&#47;1.png' /> <param name='animate_transition' value='yes' /><param name='display_static_image' value='yes' /><param name='display_spinner' value='yes' /><param name='display_overlay' value='yes' /><param name='display_count' value='yes' /><param name='showTabs' value='y' /></object></div>

  7. Oculte as abas. Ultimamente, na Gazeta do Povo temos trabalhado com dashboards únicos. Quando é preciso mais de um, é uma opção legar criar uma nova “História”, que é um conjunto de dashboards. Para isso é bom garantir que as abas (dashboards, sheets e stories) fiquem escondidas na versão publicada. O Tableau até tem uma opção “show sheets as tabs”, mas ela já me decepcionou e não confio mais. Por isso é melhor garantir no código que elas não vão aparecer quando você inserir o código na sua página:

    • <param name='tabs' value='yes' vira <param name='tabs' value='no'
    • <param name='showTabs' value='y' vira <param name='showTabs' value='n'
  8. Não esqueça de copiar novo código se alterar o nome ou o tamanho do dashboard, e fazer esse ajuste novamente.

  9. Pronto.

Ajuste o código automaticamente

Essa parte é um epílogo um pouco mais avançado para quem usa Mac. É uma mão na roda se você tem que fazer esse processo de ajustar o código para publicar Tableaus frequentemente (nós fazemos isso em TODAS as publicações).

  • Use o mágico TextWrangler (editor de texto para Mac)
  • Cole o código de embed em um documento novo
  • Baixe esse applescript e aperte play
  • O código está pronto com os ajustes

26 de fevereiro de 2016

Como localizar uma lista ou tabela de endereços com o Google Maps

Usar o Google Maps para criar mapas a partir de uma lista ou tabela de endereços é fácil e rápido. O modo My Maps permite que você arraste uma tabela CSV, XLS, XLSX.

Dizendo a ele quais são as colunas com informações geográficas (rua, bairro, cidade, estado, país, coordenadas, ...), o Google Maps vai localizar os endereços e colocar pinos no mapa.

Após a localização, a tabela que você jogou lá continua vinculada ao mapa. É ela que vai fornecer informações para definir o nome dos pontos e a descrição que aparece no balãozinho. É possível editar e corrigir pontos no mapa após a localização.

Confira o vídeo e as etapas principas abaixo:

Mapear vários endereços de uma lista ou tabela

👉 Mais vídeos: Inscreva-se no canal Dados Finos no Youtube


Passo-a-passo

  • Crie o mapa

  1. Entre no Google Maps

  2. Clique no menu (ícone de três linhas no canto esquerdo)

  3. My Maps

  4. No fim da lista dos mapas já criados tem um botão Criar mapa

    Importe a tabela

  5. O mapa começa com uma camada inicial (sem título). Depois podem ter várias camadas, dependendo de como você quiser organizar suas informações. Clique no botão azul Importar.

  6. Arraste ou clique Selecionar arquivo do computador para escolher a tabela de endereços que você possui.

    • Pode ser uma tabela em CSV (que é um arquivo de texto com os valores separados por vírgula, comum em sites de dados) ou um arquivo do Excel (XLS ou XLSX). Se você quer inserir um mapa já pronto que você pegou de outro lugar, pode baixar um arquivo KML (mapas do Google Maps ou Earth) e arrastar pra lá também. Cada camada suporta apenas um arquivo (para mais arquivos, você deve primeiro Adicionar camada).
    • Se você não tem uma tabela, só uma lista de endereços: Crie uma tabela rápida no excel. Use a primeira linha como cabeçalho e jogue a lista de endereços lá.
    • Em uma tabela, cada informação sobre o mesmo local tem que estar em uma coluna separada (Ex.: Nome / Endereço / Comentário), e cada local diferente deve estar em uma linha diferente. (Para o Google Maps você não precisa dividir o mesmo endereço em mais de uma coluna, como rua, número, bairro,...)

    Configure o mapa

  7. Diga a ele quais colunas tem as informações geográficas (rua, bairro, cidade, estado, país, coordenadas, ...). Pode ser mais de uma. Ele vai usar isso para encontrar o endereço. Quanto mais precisa for a informação na tabela, mais confiável vai ser o mapa.

  8. Diga qual coluna você quer que seja o nome de cada pino, a informação principal do ponto. Clicando no ponto de interrogação você vê um exemplo das informações que tem na sua tabela. Isso te ajuda a decidir qual o melhor campo para ser o principal.

    Corrigindo endereços

  9. Se o Google Maps conseguir localizar tudo sem problemas, não haverá aviso. Os pontos aparecerão no mapa e está pronto.

  10. Nas situações mais comuns, como no caso do vídeo, alguns endereços não serão localizados corretamente. Eles podem ser corrigidos de formas diferentes:

    • na tabela, aprimorando a informação geográfica
    • diretamente nos pinos, clicando em cima e arrastando
  11. Para corrigir na tabela (método aconselhável), clique em Abrir tabela de dados. Se o botão não estiver visível, clique nas opções da camada (ícone de três pontinhos em pé).

    Abrir tabela de dados

  12. As linhas com endereços não encontrados aparecem em vermelho. Vá até a coluna que contém o endereço/local. Ajuste o endereço de alguma forma que o Google Maps possa entender e encontrar. Após alterar e dar "Enter" ele já tenta achar novamente, e se localizado o ponto aparece no mapa. Aqui tem o que você pode tentar:

    • Corrija eventuais erros
    • Teste grafias diferentes (y/i, letras duplicadas, th, ...)
    • Aumente a precisão do endereço adicionando bairro ou cidade, caso você saiba (no caso do vídeo só informar que era uma rua foi suficiente; adicionei o R. na frente)
  13. Terminadas as correções, clique no X para fechar a tabela de dados.

  14. CONFIRA os endereços. Um a um se possível, ou por amostragem. Clique em alguns pontos e veja se estão no lugar onde deveriam.

    • Essa é a parte mais trabalhosa de criar mapas. Note que no vídeo o mapa automático foi criado em 2 min. O restante foi o tempo de correção e ajuste nos locais não encontrados.
    • Se você não tiver tempo de fazer isso, seria honesto informar algo como "endereços encontrados automaticamente; podem haver erros".
    • Na localização inicial automática, dos 38 endereços procurados, 7 não foram encontrados (18%). Se a publicação fosse feita com quase 1/5 dos locais errados ou de fora, dependendo da informação, isso deixaria o mapa inviável ou até errado. Principalmente se você trabalhar numa redação de jornal, o fato de os locais estarem onde deveriam pode diferenciar o seu mapa dos outros.

    Publique

  15. O Google Maps salva automaticamente. A frase "Todas as alterações foram salvas" aparece abaixo do título do mapa.

  16. Aproveite e dê um título pro seu mapa. Clique no título para preenchê-lo e adicionar uma possível descrição (ela ajuda o seu mapa a ser encontrado)

  17. Dê um nome para a(s) camada(s) do seu mapa. Mesmo que seja uma única, ela fica aparente quando o mapa é publicado.

  18. Clique em Compartilhar para tornar o mapa público (até então ele só está disponível para você e para quem você compartilhou).

  19. Onde diz "Particular" Clique em Alterar. Clique na primeira opção "Ativado - Público na Web". Depois, em Salvar.

  20. Agora você pode copiar o link para compartilhar, ou, se quiser embedar (incorporar) no seu site clique em Concluído e clique nas opções do mapa (ícone de três pontinhos ao lado de Compartilhar. Então clique em Incorporar a meu site. Copie o código e pronto.

    Incorporar a meu site

    Ajustes

  21. Edite as informações do balão (infowindow, tooltip) que aparece quando você clica em um ponto. Por padrão, todos os campos da tabela original ficam visíveis. Você pode clicar no ponto, no ícone de editar (lápis) e desmarcar os que não interessarem.

    Editar pino

    Escolher campos do infowindow

  22. Se depois de inserido no seu site, o mapa não ficou como queria, veja aqui como fazer ajustes: http://dadosfinos.blogspot.com.br/2015/05/como-criar-mapas-com-google-maps.html#ajustes

Dados usados no vídeo

A prefeitura de Curitiba publica na página de dados abertos uma tabela de solicitações feita no telefone 156 nos últimos 3 meses:

http://www.curitiba.pr.gov.br/dadosabertos

Utilizamos um recorte dessa tabela só contendo alagamentos. Você pode baixá-la aqui, na pasta Cidade:

Gazeta do Povo Dados

Veja também

Como criar mapas de um ponto só ou de trajetos

http://dadosfinos.blogspot.com.br/2015/05/como-criar-mapas-com-google-maps.html

Faça ajustes no código de embed do Google Maps

http://dadosfinos.blogspot.com.br/2015/05/como-criar-mapas-com-google-maps.html#ajustes

Tem um local no mapa que não tem endereço? Veja como capturar as coordenadas

http://dadosfinos.blogspot.com.br/2015/04/coordenadas-no-google-maps.html

Mais endereços do que o Google Maps suporta? Veja como localizar muitos endereços com o Google FusionTables

http://dadosfinos.blogspot.com.br/2014/05/fusion-tables-conferir-e-editar.html

3 de agosto de 2015

Excel: extrair comentários de células (get cell comments)

Não entendo o motivo, mas algumas pessoas ou instituições inserem comentários em células do Excel. A informação fica escondida e péssima de utilizar, no caso de você precisar dela:

célula com comentário escondido no Excel

Quando são uma ou duas, é fácil copiar e colar. Agora se você tiver 50 ou 100, vai perder um tempo detestável fazendo isso.

Veja abaixo como retirar os conteúdos inseridos como “Comentário” no Excel e colocá-los em células comuns como texto. Fiz no Excel para Mac, mas deve ser uma solução similar no Windows.

Solução rápida e permanente

  1. Baixe o Add-in “Get Cell Comments

  2. Instale o Add-in: mova o arquivo .xla para a pasta Documents > Microsoft User Data > Excel

    image

  3. Agora, abra o Excel e utilize a fórmula =getComment(XXXXX), onde no lugar de XXX você coloca a referência para a célula com os comentários.

    image

Caso não funcione, tente uma dessas soluções manuais, que foi como eu gerei o arquivo .xla:

Soluções manuais

Pra funcionar uma vez só (na planilha atual)

  1. No Excel, abra o editor Visual Basic: Menu Tools > Macro > Visual Basic Editor

    image

  2. Menu Insert > Module

    image

  3. Na janela em branco que apareceu, cole o código a seguir:

    Function getComment(incell) As String ' aceepts a cell as input and returns its comments (if any) back as a string On Error Resume Next getComment = incell.Comment.Text End Function

    Vai ficar assim: image

  4. Volte para a janela da sua planilha e use digite a fórmula =getComment(XXXXX), onde no lugar de XXX você coloca a célula com os comentários.

    image

Solução permanente, pra funcionar sempre

O procedimento é quase o mesmo, mas envolve salvar o arquivo como um Add-in para deixar instalado e funcionar sempre das próximas vezes.

  1. Crie um documento novo

  2. Abra o editor Visual Basic: Menu Tools > Macro > Visual Basic Editor

    image

  3. No painel lateral (“Project”), selecione o item que parece conter a sua planilha atual. No meu caso foi “VBA Project (Workbook1)”

    image

  4. Insira um novo módulo. Pode ser clicando com o botão direito em cima do item que você acabou de selecionar, ou no menu Insert > Module.

  5. Na janela em branco que apareceu, cole o código a seguir:

    Function getComment(incell) As String ' aceepts a cell as input and returns its comments (if any) back as a string On Error Resume Next getComment = incell.Comment.Text End Function

  6. Salve o arquivo como “Excel Add-in”, um formato com extensão .XLA

    image

  7. Depois de salvo esse Add-in pode ser instalado, movendo-o o arquivo .xla para a pasta Documents > Microsoft User Data > Excel:

    image

  8. Agora, no Excel é só utilizar a fórmula =getComment(XXXXX), onde no lugar de XXX você coloca a célula com os comentários.

    image


Referências utilizadas:

http://chandoo.org/wp/2009/09/03/get-cell-comments/

http://www.extendoffice.com/documents/excel/765-excel-convert-comments-to-cells.html

22 de maio de 2015

Como criar mapas personalizados com Google Maps

Veja três jeitos fáceis de criar e incorporar (embed) um mapa personalizado com Google Maps e a ferramenta MyMaps:
1. Mapa rápido sem pontos
2. Mapa rápido de um ponto só
3. Mapa de pontos ou trajetos (My Maps, exige login)

Ajustes no código de embed


1. Mapa rápido sem pontos

Este mapa é feito sem precisar logar em uma conta google. Use para mostrar uma região do mapa ou do modo StreetView, não vai aparecer o pino do Google Maps.
  1. Entre no site: http://ctrlq.org/maps/embed/
  2. O código fica o tempo todo aparente.
  3. Altere o mapa (arraste, dê zoom, escolha o modo Satélite, arraste o bonequinho para entrar no StreetView…)
  4. Copie o código
http://ctrlq.org/maps/embed/
image

2. Mapa rápido de um ponto só

Este mapa é feito sem precisar logar em uma conta google.
  1. Entrar no Google Maps e procurar um local / endereço
    image
  2. Clicar na engrenagem de Configurações e “Compartilhar ou incorporar mapa”
    image
  3. Clicar na aba “Incorporar mapa”
    image
  4. Escolher o tamanho (pequeno ou médio)
  5. Copiar código para incorporar (<iframe…)
    <iframe frameborder="0" height="300" src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d1801.6374966341696!2d-49.27116788257183!3d-25.429068296929362!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x94dce412dc528187%3A0xb8293d0094848d2b!2sPra%C3%A7a+Tiradentes+-+Centro%2C+Matriz%2C+Curitiba+-+PR!5e0!3m2!1spt-BR!2sbr!4v1432239932719" style="border: 0;" width="400"></iframe>

3. Mapas de pontos ou trajetos

Aqui você vai precisar fazer login em uma conta google. O mapa vai estar associado a essa conta e vai ser possível editá-lo depois.
Vantagens:
  • Possível adicionar mais de um ponto
  • Possível adicionar ponto, trajeto ou polígono (área)
  • Adicionar mais de uma layer de dados
  • Salvar e editar o mapa
  • Definir visualização inicial (zoom e posição do mapa)
  • Localizar pontos a partir de uma tabela

Criar um mapa personalizado com o Google My Maps:

  1. Login com sua conta no google
  2. Clique na caixa de busca até aparecer “Meus mapas”
    image
  3. Clique em “Criar”
    image
  4. Adicione nome e descrição
    image
  5. Essa é a tela de edição do mapa. O Importar serve para puxar vários locais ao mesmo tempo, usando uma tabela já pronta, ou um arquivo KML. As ferramentas abaixo da caixa de busca são para desenhar diretamente em cima do mapa.
    image

Adicionar pontos no mapa

  1. Encontre o local desejado. Pode usar a caixa de busca pra isso, ou ir manualmente até achar.
  2. Clique no pino que está na barra de ferramentas
    image
  3. Clique no mapa para criá-lo. Somente após “Salvar” o ponto será inserido de fato no mapa. Depois disso ele aparece no painel de layers (camadas). Para editá-lo, você pode selecioná-lo através do painel, ou clicando em cima dele no mapa.
    image

Publicar (incorporar) mapa

  1. Terminada a edição, clique nos 3 pontinhos de configurações. As do mapa, mais acima, não da camada. E depois em “Incorporar a meu site”
    image
  2. Você vai ter que deixar o mapa público antes disso.
    image
  3. Confirme nome e descrição. Clique em “Quem pode acessar” > “Alterar”. E marque “Público na Web”
    image
  4. Copiar código para incorporar. (Se não aparecer, repita o passo 1 após deixar o mapa público)
    image

Ajustes e edição do código de incorporação

Entenda o código

  1. O código para incorporar (embed) vai se parecer com isso:
    <iframe src="https://www.google.com/maps/d/u/0/embed?mid=z3IfIMDeTAjk.k0u39Vy5MnHw" width="640" height="480" ></iframe>
    Esse tipo de código html (com a tag iframe) nada mais é que uma janela que referencia um conteúdo que está em outro lugar. Ao copiar o código, você não copia o mapa, o mapa está no Google Maps (e, nesse caso, associado à conta que você usou para criar o mapa).
  2. O código copiado só vai criar essa janela que aponta para outro lugar. O elemento src="www.endereço…" é a fonte (source) do conteúdo. E os elementos width e height definem o tamanho da janela, em pixels (não precisa escrever a unidade).
  3. A ordem dos elementos não importa. Basta que estejam dentro da tag de abertura:
    <iframe AQUI VÃO OS AJUSTES ></iframe>
  4. Para alterar as dimensões do mapa, altere o valor dos elementos width e height. Se o código veio sem esses elementos, pode copiar daqui e inserí-los no seu código, logo após as aspas finais do elemento src.

Elimine a borda

  • Elimine a borda do mapa, que vem por padrão. Adicione o elemento frameborder="0" logo após as últimas aspas do código. Vai ficar assim:
    <iframe src="https://www.google.com/maps/d/u/0/embed?mid=z3IfIMDeTAjk.k0u39Vy5MnHw" width="640" height="480" frameborder="0" ></iframe>

Para mapas em largura inteira

  1. Altere a largura (width) para 100%. Vai ficar assim:
    <iframe src="https://www.google.com/maps/d/u/0/embed?mid=z3IfIMDeTAjk.k0u39Vy5MnHw" height="300" width="100%" frameborder="0" ></iframe>
    Nesse caso eu também ajustei um pouco a altura (para 300).
  2. Resultado final publicado:

Para mapas em meia largura

  1. Altere a largura (width) para 315.
    <iframe src="https://www.google.com/maps/d/u/0/embed?mid=z3IfIMDeTAjk.k0u39Vy5MnHw" frameborder="0" height="300" width="315" style="float: left; margin: 10px 20px 20px 0" ></iframe>
  2. Adicione um ajuste de estilo para que o texto possa correr ao lado do mapa:
    style="float: left; margin: 10px 20px 20px 0"
    Vai ficar assim:
    <iframe src="https://www.google.com/maps/d/u/0/embed?mid=z3IfIMDeTAjk.k0u39Vy5MnHw" height="300" width="315" frameborder="0" style="float: left; margin: 10px 20px 20px 0"></iframe>
  3. E o resultado final publicado:

Lorem impsum início de matéria  de logro, seguida por um enfado visceral, que o crítico percorre a sa100 poética de nono. Mais do que nunca, a poesia é hoje um produto apenas para consumo próprio, ou, 200 ndo muito, para consumo familiar – penso nas famílias espirituais, pequenas mas intransigentes n300 seus gostos como todas as famílias. Depois da messe cansativa, restam apenas esparsas espigas. S400 l do fim dos tempos? Não podemos ser tão fatalistas. É apenas a rotina de um tempo de fezes e ma500 poemas – como diria Escolhendo livros ao acaso nas prateleiras da livraria, juntei se600 ítulos que dão uma eloqüente amostragem da arte de não escrever. Lidos com o tédio característico 700 quem se vê pressionado pelo desejo de compreender, os poemas ficaram ainda mais intragáveis. Co800 tá-los é então um compromisso profissional.
Intertitulo

Ajuste de zoom e posição inicial do mapa

Pode ser que o mapa não inicie de um jeito legal. Pode ser muito próximo ou muito distante. Se você criou o código usando o “Meus mapas” você pode ajustar isso:
  1. Volte no mapa editável
  2. Ajuste a posição do mapa, como você deseja que ele abra pro leitor.
  3. Clique nos 3 pontinhos de configurações (as do mapa, mais acima, não da camada)
  4. Clique em “Definir visualização padrão”
  5. Pronto. Não precisa fazer nenhum ajuste no código. (Ao incluir pontos novos, editar o nome ou posição dos pontos também não)