Contraindo e expandindo colunas de dados – SSRS 2012

Fala galera, em algumas situações precisamos apresentar muitos dados em um relatório consolidado, mas isso faria o relatório ficar com um tamanho acima do que caberia em uma página. Para resolver esta necessidade, é possível contrair/expandir as colunas do relatório e visualizar a informação agrupada ou então detalhada.

Para exemplificar, vou usar um código baseado no AdventureWorks2012. Veja o código abaixo:

 1: SELECT YEAR(ORDERDATE) [ANO]
 2: ,MONTH(ORDERDATE) [MES]
 3: ,COUNT(ORDERDATE) [QTD]
 4: FROM SALES.SALESORDERHEADER
 5: GROUP BY YEAR(ORDERDATE), MONTH(ORDERDATE)
 6: ORDER BY YEAR(ORDERDATE), MONTH(ORDERDATE)

 

Abrindo o SSDS SQL Server Data Tools – vamos criar um projeto de Reporting Services, mas isso vou entender que vocês sabem fazer, tanto como criar o Dataset que utilizará essa consulta acima como origem dos dados, ok?!

Primeira coisa nós vamos criar uma tabela e arrastar os campos MES e QTD.

image

Quando observamos o resultado, o relatório ficou bem prolongado já que todos os meses de todos os anos ficam plotados nesta tabela. Resolver esse problema é o foco do post! Pra resolver, vamos adicionar o ano e agrupar os dados por estes anos, diminuindo o tamanho final do relatório.

Próxima coisa a ser feita, é adicionar um grupo junto ao MES, para receber o ANO. Para isso, clique com o botão direito no campo MES, aponte para Add Group e em seguida Parent Group…

image

Uma caixa de dialogo é apresentada, solicitando que informe qual deve ser o campo que irá agrupar os dados. Nesta caixa, selecione ANO e clique em OK.

image

 

Com isso, o campo ANO é adicionado à tabela de dados mas ainda não diminui o tamanho. Se executar o relatório, o tamanho ainda será o mesmo, a única diferença é que os dados de ano não estão se repetindo, estão apenas agrupados.

Para realmente consolidar o resultado, vá até a área Row Groups (na área central inferior da tela de detalhes) e clique com o botão direito em Details, e em seguida Group Properties…

image

Após a caixa de diálogo se abrir, vá até a opção Visibility no menu da esquerda, então selecione Hide na sessão When the report is initially run, também marque a caixa de seleção do Display can be toggled by this report item e então selecione o campo ANO na combo box. Em seguida clique em OK.

image

Isso realmente fará com que os dados baseados do ANO comprima os dados de MES referentes à aquele ano e permite que o relatório fique menor. Porém, se você quiser visualizar os dados dos meses de um ano específico, é só expandir clicando no ícone de + e se quiser retrair, basta clicar no ícone de

image

Agora é com vocês, diminuam seus relatórios e salvem as árvores 🙂

Sobre Diego Nogare 350 Artigos
Diego Nogare é Gerente Técnico de Engenharia de Machine Learning no Itaú-Unibanco. Também é professor em programas de pós graduação no Mackenzie e na FIAP, em São Paulo. Foi nomeado como Microsoft MVP por 11 anos seguidos, e hoje faz parte do programa Microsoft Regional Director.