Think Think .Net
Diego Nogare [MVP | MCT | MCITP | MCTS | MCP | INETA BR]

Reporting Services no SQL Server 2008 R2 – Montando relatórios específicos

quinta-feira, 2 setembro 2010 08:50 by Nogare

Fala galera, uma das coisas que foi necessário fazer internamente na NGR Solutions, era imprimir Notas Fiscais baseadas nos projetos que entregávamos. Em São Paulo (e algumas outras cidades) a emissão de Notas Fiscais é eletrônica, porém a NGR está sediada em Poá e a prefeitura da cidade não aceita notas eletrônicas, só são aceitas notas através do talão. Nossa sorte é que foi possível destacar as notas do talão e imprimir as informações. Com base nesse contexto de exemplo, pode ser facilmente adaptado à qualquer outra necessidade.

Para imprimir as informações da Nota Fiscal, vou me basear em uma procedure chamada “sps_NotaFiscal” que retorna todas as informações necessárias para o preenchimento da Nota. Estas informações vocês podem retornar de sua estrutura de dados normalizada.

Para entender esse modelo de nota fiscal de talão, veja a imagem abaixo. Nela as linhas em preto são as delimitações padrões de uma Nota Fiscal de serviços, os números que estão em verde é a distância da lateral esquerda até o campo que será impresso e os números em vermelho representam a distância entre o topo da página e o texto.

NF Modelo

Agora que já sabemos como é o modelo que será trabalhado, vamos abrir o SQL Server Reporting Services e o SQL Server 2008 R2 para coletar os dados e montar o layout que será impresso.

imageDepois de criar um projeto no BIDS (Business Intelligence Development Studio) e montar a estrutura simples conectando no nosso Banco de Dados e apontando para a procedure criada que retorna os dados necessários.

Se precisar de ajuda para criar seu Shared Data Source e seu Shared Datasets, leia Criando seu primeiro relatório. Vou entender que estamos com esta estrutura criada, ok?!

Neste exemplo, o Data Source aponta para o Banco de Dados e o Data Set aponta para a procedure “sps_NotaFiscal” que faz a busca na base de dados e retorna as informações necessárias para a montagem da Nota.

imageVamos adicionar um relatório chamado “NF_Talao” e especificar que os dados que serão consultados está no NotaFiscal.rsd (DataSet). Para isso é necessário selecionar os campos que retornam do DataSet, encontrando estes campos no Report Data. Caso não esteja visualizando a sessão Report Data, clique em qualquer parte do corpo do relatório, vá até o menu View e procure o ítem Report Data. Ou utilize o atalho Ctrl+Alt+D.

imageimageAgora que a sessão está aberta (figura da esquerda), será adicionado o DataSet que retorna os dados. Para isso, vá até o ítem Datasets do Report Data, clique com o botão direito e vá para Add Dataset. Quando a tela de selecionar o DataSet abrir, selecione o DataSet já criado anteriormente e mude o campo Name para NotaFiscal. Este nome será mostrado dentro da pasta DataSet do Report Data (figura da direita).

Repare que os campos da sua nota fiscal estão apresentados dentro do DataSet criado. Estes campos serão arrastados para dentro do relatório, em seus devidos lugares. image

O layout que será utilizado é o apresentado no início, reparem que no modelo temos números em verde e vermelho escritos à mão. Estes números são as distâncias entre a borda e topo do campo. Vamos arrastar o campo DataEmissao do Dataset para dentro do relatório, e em seguida, ajustar a posição correta. Lembrando que o número em vermelho é a distância do topo (Top) e a verde é a distância da esquerda (Left). Esta configuração deve ser feita em todos os campos do Dataset.

Após colocar todos campos no relatório, e organizar a localização (distâncias da lateral e topo), seu relatório terá uma aparëncia como esta abaixo.

image

Para testar o relatório, execute apertando F5. Se tudo estiver correto, seu relatório será semelhante a este abaixo:

image

Se imprimir este relatório em uma Nota Fiscal do talão, o relatório será como este abaixo:

NF Final

Ocasionalmente, um ajuste ou outro poderá ocorrer em cima da impressão realizada, este período de desenvolvimento e testes é exatamente para encontrar esses detalhes e consertar.

Montar relatórios com o SQL Server Reporting Services é extremamente simples, alguém discorda?! rss

Mesa ASK THE EXPERTS de SQL Server no TechEd Brasil 2010

sexta-feira, 20 agosto 2010 20:47 by Nogare

botton_bw_180x180Fala galera, pelo terceiro ano consecutivo fui convidado para fazer parte da mesa Ask The Experts de SQL Server no Tech Ed Brasil.  Para quem não sabe o que é esta mesa, é um lugar para fazer contatos, tirar dúvidas e trocar idéias sobre os produtos de seu interesse. Cada tecnologias Microsoft (SQL Server, Visual Studio, ASP .Net, Silverlight, WCF, etc) tem suas próprias mesas e lá você se encontra com MVPs, MCTs, funcionários Microsoft e profissionais da área, como você! É um valor agregado imenso que nos possibilita aumentar ainda mais nosso network, sem contar a quantidade de informação que se pode colher em um lugar como esse!

Espero ver vocês por lá!

Resultado final da promoção do Visual Studio 2010 Ultimate com MSDN

segunda-feira, 9 agosto 2010 07:47 by Nogare

Fala galera, a promoção do Visual Studio 2010 com MSDN iria até o mês que vem, mas como somente o Fabrício Sanchez enviou o vídeo dentro das regras, ele é o vencedor da promoção.

Realmente não entendi o motivo de, tirando o Fabrício, ninguém enviar vídeos. Era aparentemente simples gravar um vídeo sobre qualquer assunto de desenvolvimento e postar no youtube. Se fosse um prêmio ruim entenderia que ninguém participasse, mas este MSDN Card está custando por volta de R$6.000,00 por ano.

Não vou ficar criticando quem não participou e deixou de concorrer, vou focar no lado positivo da coisa e parabenizar o Fabrício!

Parabéns cara, isso é espírito de comunidade e prova uma vez mais que você faz realmente acontecer aqui no Brasil. Não só pelo seu trabalho na revista, e sim por tudo que está fazendo pelo desenvolvimento de software por aqui.

Parabéns!

Reporting Services no SQL Server 2008 R2 – Criando seu primeiro relatório

domingo, 1 agosto 2010 07:07 by Nogare

Fala galera, quem acompanha meu site sabe que estou estudando BI (Business Intelligence) a algumas semanas. Inclusive comecei a montar alguns posts sobre BI, pretendo retornar a série em breve. Esta pausa na série se deu por questões profissionais, inclusive, estou escrevendo novamente para a revista SQL Magazine e estou terminando um artigo sobre Integração de Mapas nativamente com o Reporting Services. Como as publicações para a revistas devem ser exclusivas, escrevi este pequeno artigo enquanto escrevia para lá.

O primeiro passo é abrir o Business Intelligence Development Studio (BIDS), por padrão o BIDS fica na pasta do SQL Server 2008 R2.

image

Reparem que é o Visual Studio 2008 com os templates para se trabalhar com BI. É possível visualizar quais são as opções de projetos que podem ser desenvolvidos através do BIDS. Para encontrar estas opções, será necessário clicar em File >> New >> Project.

image

Após a criação do projeto com o template Report Server, a Solution Explorer apresenta três pastas vazias. São nestas pastas que desenvolveremos as conexões com bancos de dados e criação dos relatórios.

image

Por enquanto será adicionado um novo item a pasta Reports, esta pasta de sistema armazena todos os relatórios que serão utilizados na solução. Clique com o botão direito do mouse na pasta, e em seguida clique em Add New Report. Uma tela de wizard será aberta e por padrão a primeira tela é de “boas vindas”, pode avançar sem problemas clicando em Next. A tela seguinte nos solicita as credenciais para conexão à fonte de dados, que neste caso será o SQL Server 2008 R2. Acompanhe as configurações para esta tela.

image

A primeira opção habilitada é para criar um novo data source, através da opção New data source. Neste campo será inserido o nome da conexão, que pode ser uma exclusiva para este relatório ou então ser compartilhada. Para fazer esta conexão se tornar compartilhada, marque a opção Make this a shared data source e poderá reutilizar em outros relatórios. O combo de Type permite escolher qual é o provedor de origem dos dados, se abrir o combo verá opções como Microsoft SQL Server, Microsoft SQL Azure, Oracle, Teradata, SAP NetWeaver BI entre vários outros. Neste caso, o Microsoft SQL Server será a origem dos dados. Clicando no botão Edit será configurada a conexão com o Database.

image

Após inserir os dados para a conexão, clicar em OK e voltamos para a tela anterior. Reparem que agora o item ConnectionString está preenchido com os dados que foram inseridos para acesso a base. Clique em Next.

A próxima tela que é apresentada pelo wizard, é a tela onde uma consulta que será executada quando este DataSource for utilizado. Como este exemplo é só para mostrar as funcionalidades mais simples de como começar com o Reporting Services, pode colocar qualquer query válida, como esta SELECT * FROM DimSalesTerritory e avançar. Queries mais complexas podem ser escritas nesta área, ou se preferir utilizar o Query Builder que lhe auxiliará a criar sua consulta.

image

Após a consulta ser escrita, clique em Next. A tela seguinte define se os dados serão apresentados em colunas Tabulares (Tabular) ou Matrizes (Matrix). Pode selecionar Matrix e clicar em Next. A tela seguinte agrupa os dados em sessões. Basicamente você seleciona o item na coluna da esquerda e envia para uma sessão da coluna da direita. Separei os itens da seguinte forma:

image

Após avançar a tela de separação das sessões devem-se escolher as cores do layout do relatório, deixei a primeira selecionada (Slate) e cliquei em Next. É chegada a ultima tela, no qual as configurações são apresentadas resumidamente e é solicitado o nome para o relatório que foi criado. Chamei o relatório de PrimeiroRelatorio e cliquei em Finish. Se realizou as mesmas configurações apresentadas, você terá seu primeiro relatório como este.

image

Lembrando que você pode alterar o tamanho das colunas e textos que aparecem no relatório criado pelo wizard. Eu fiz algumas pequenas alterações para representar as mudanças, e então cliquei em Preview, logo acima do relatório. Inseri novamente as credenciais para acesso ao banco de dados e esperei meu relatório ser carregado. Se seus passos estiverem como o do exemplo, você terá um relatório apresentado com dados do seu banco.

image

Reparem que a Solution Explorer, depois de finalizar a criação do relatório, já possui dois arquivos separados nas pastas. Estes arquivos foram adicionados automaticamente ao finalizar a configuração do relatório com o wizard. O arquivo dsSQLMagazine.rds é o datasource que você incluiu ao relatório e marcou a opção “Make this a shared data source ”, já o arquivo PrimeiroRelatorio.rdl é o seu relatório criado.

image

Simples assim, você já pode criar seu primeiro relatório no Reporting Services do SQL Server 2008 R2.

Quer o Visual Studio 2010 Ultimate com MSDN? Participe gravando um vídeo!

domingo, 1 agosto 2010 06:16 by Nogare

MSDNFala galera, como prometido aqui, vou utilizar a idéia que eu mais gostei para sortear um Visual Studio 2010 Ultimate com MSDN. Tivemos ótimas idéias, porém a que mais me agradou foi a do Milton Filho, veja aqui a idéia dele (6º comentário) ele já foi avisado e logo receberá seu MSDN Card. Parabéns “1000ton” =)

Agora começa mais uma promoção, e esta não será para sugerir uma forma de ganhar, e sim PARTICIPAR ATIVAMENTE. Essa licença do Visual Studio 2010 Ultimate com MSDN custa uma boa grana, e para você ganhar basta ter vontade e se esforçar. Seus amigos podem te ajudar a ganhar…

As regras são baseadas na sugestão do Milton, porém, um pouco mais restritivas:

1) A competição será dividida em 5 fases, uma por semana.

2) Na primeira fase TODOS podem participar. É só gravar um vídeo falando de alguma ferramenta Microsoft de desenvolvimento, pode ser qualquer uma, desde que seja DE DESENVOLVIMENTO.

3) De acordo com as votações diretamente no Youtube, os oito vídeos mais votados avançam para a próxima fase. Junto com a divulgação dos participantes que avançaram, vamos colocar o tema do vídeo a ser gravado para a próxima fase. A divulgação será aqui no meu blog.

     3.1) Os próprios participantes da comunidade vão votar e escolher o melhor vídeo. Portanto, divulgue seu vídeo e faça o pessoal votar em você.

     3.2) As eliminações continuarão durante as próximas fases, restringindo de 8 participantes para 4, depois para 2 e enfim o grande vencedor. O vencedor terá que gravar um vídeo final, vídeo de campeão, para “levantar o caneco”!

4) Os vídeos devem estar OBRIGATORIAMENTE replicados no site do Codificando .Net, com o Código de Incorporação do Youtube. O vídeo deve estar replicado no Codificando .Net, mas a votação é no Youtube.

5) As datas das fases são as seguintes:

image

6) Para encontrar o video no Youtube, coloquem a hashtag “Codificando .Net”, somente assim vamos encontrar e votar nos vídeos.

7) A idéia é divulgar as tecnologias Microsoft, então em quanto mais lugares você divulgar, mais chances tem de ganhar a assinatura. Afinal, a escolha dos melhores vídeos serão por votações.

Boa sorte a todos, e que a competição comece!