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.
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…
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.
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…
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.
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 –
Agora é com vocês, diminuam seus relatórios e salvem as árvores 🙂