Trabalhando com Dados Geográficos e relatórios de Drill through no SQL Server 2012

Um dos recursos do SQL Server 2008 que mais me chamaram a atenção foi a possibilidade de uso de Dados Geográficos. Como agora tenho instâncias do 2008 R2 e 2012 em produção, estou com alguns projetos em fase inicial, mas já encontrei algumas situações interessantes que resolvi compartilhar.

Imagine que você tem um relatório “pai” (muitas vezes chamado de relatório drill through) com os quais você apresenta informações mais genéricas e através do mesmo você deseja dar a opção para que o usuário já acesse relatórios mais detalhados de alguma das regiões deste mapa.

Exemplificando, no meu caso tenho um mapa do meu estado, Rio Grande do Norte (RN), e desejo que o usuário possa acessar dados de algumas cidades, por bairros, a partir deste relatório. Aqui para o exemplo, utilizarei um mapa da nossa capital, Natal.

Obs: Aqui não vou detalhar o processo de importar mapas e fazer o relatório com estes, pois já é um assunto bem explicado na internet, mas se acharem interessante, postem ai nos comentários que posso fazer um post depois

Então temos o mapa do RN:

E a partir deste mapa desejo acessar mapas detalhados de cidades, como um mapa da capital, Natal, como este:

Após desenvolver os dois relatórios preciso configurar o relatório de drill through para que ao clicar na cidade de Natal este possa acessar o seu respectivo mapa.

Para isso preciso clicar com o botão direito do mouse sobre o mapa do RN e clicar na opção “Polygon properties“:

Na tela que surge devemos ir até a aba “Action” e dentro dela ir na seção “Enable as an action” e selecionar a opção “Go to report“. Após isso devemos informar o relatório que deverá ser acessado na caixa “Specify a report“. Aqui vale lembrar que caso o relatório para onde vamos “apontar” esteja na mesma pasta do relatório principal basta informar o nome do mesmo. Caso esse esteja em uma outra pasta, precisamos adicionar o caminho relativo para o mesmo, por exemplo “\Cidades\Natal”, seria uma possibilidade.

Nessa caixa podemos definir um relatório padrão, mas o interessante é exatamente relacionar um relatório específico para a região (cidade) onde estamos clicando.

Para isso vamos utilizar uma função (botão fx) para a caixa “Specify a report“. Aqui você precisa relacionar algum campo de seu dataset ao relatório que irá chamar. No meu caso, meu dataset possui a coluna “Cidade” e, a partir do valor dessa coluna na região clicada, vou selecionar o relatório a ser executado.

Aqui temos duas possíveis situações. Caso você tenha um único relatório, que possua todas as cidades e que recebe um parâmetro para filtrar apenas a cidade desejada, você deve também informar esse parâmetro ao chamar o outro relatório, utilizando a seção de “Use these parameters to run the report“, na aba “Action“.

No meu caso, eu tenho um relatório separado para cada cidade, então vou configurar na função o nome do relatório a ser executado. Aqui um ponto importante, como não tenho mapas para todas as cidades do estado, preciso configurar para que a ação de clique esteja configurada apenas para as cidades onde o mapa está disponível.

Assim, configurei a seguinte função:

=IIF(Fields!Cidade.Value = “NATAL”,”Natal”,Nothing)

Onde verifico se o valor do campo no meu dataset, para a região onde cliquei, é “NATAL” e, caso seja, ele irá chamar o relatório “Natal”, caso não, chamo a palavra reservada “Nothing“, que diz que ele não deve executar nenhuma ação e assim a opção de clique no relatório fica desativada (assim não vemos a “mãozinha” disponível).

Com isso, ao passar o mouse sobre qualquer cidade o mouse continua com a seta, indisponibilizando o clique, e ao passar o mouse sobre a cidade de Natal o ícone do mouse muda para a “mão” e me permite clicar na mesma, chamando assim o relatório específico para ela.

Obs: só para deixar bem claro, obviamente não utilizei nenhum dado real para este post!

Para quem quiser mais informações, os seguintes links foram utilizados como referência e/ou contem algo relativo ao assunto:

Esse post foi publicado em Artigos, Spatial, Virtual PASS BR. Bookmark o link permanente.

2 respostas para Trabalhando com Dados Geográficos e relatórios de Drill through no SQL Server 2012

  1. Pingback: Dados Geométricos e Geográficos – SQL Server 2008 / 2012 « Alex Souza

  2. Tiago Balabuch disse:

    Olá Vladimir, da uma olhada no post que coloquei no technet wiki. Fala exatamente sobre esse assunto, http://social.technet.microsoft.com/wiki/contents/articles/5321.aspx
    Abraço!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s