none
É possível criar uma relatório com mais de um nível de tabela. RRS feed

  • Pergunta

  • Necessito criar um relatório no Reporting Services que a meu ver, "é tabela(tablix) dentro de outra tabela...".

    Segue um exemplo:

    Processos -> Ocorrências -> Providências

    Sendo que para cada processo, podem existir N ocorrências e para cada ocorrência podem existir N providências. Seriam 3 tabelas/tablix, cada uma com o seu conjunto de dados/dataset diferente.

    Criei um protótipo em HTML para facilitar o entendimento, mas como o código ficou grande e o importante é visualizar a interface, anexei tal imagem.

    Neste exemplo, ao clicar em um dos processos, necessito de uma identificação do processo para consultar suas ocorrências e assim sucessivamente.

     

    Fiz alguns testes no Reporting Services, consegui fazer com que em cada registro dentro da tablix ao clicar num "+" seja exibido uma linha em baixo com um conteúdo estático. Porém quando tento inserir uma tabela dentro desta linha(mesclada) e ponho o relatório pra rodar, é exibido o seguinte erro: Erro no processamento de relatório local.
    tablix 'Tablix2' tem um membro detalhado com membros internos. Membros de detalhes podem conter apenas membros internos estáticos.


    Pessoal, é possível realizar essa tarefa no Reporting Services? Se sim, favor tentem me explicar ou encaminhar algum(ns) links.


    ps. O que necessito não são das opções de agrupamento de linhas ou colunas. Pois preciso de conjuntos de dados diferentes e a especificação do nome das colunas de cada tabela.

    quarta-feira, 25 de janeiro de 2012 19:06

Respostas

  • Rafael,

    Você já pensou em utilizar Subreports?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    • Marcado como Resposta RafaellLins quinta-feira, 26 de janeiro de 2012 13:36
    quinta-feira, 26 de janeiro de 2012 11:19

Todas as Respostas

  • Rafael,

    Você já pensou em utilizar Subreports?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    • Marcado como Resposta RafaellLins quinta-feira, 26 de janeiro de 2012 13:36
    quinta-feira, 26 de janeiro de 2012 11:19
  • Bom dia RafaelLins,

    Meu parente inclusive, sou Lins também.

    Bom, vamos lá:

    Veja se dessa forma é o suficiente para você.

    Entendendo:

    Cada Pedido I.D tem seu vendedor, seu cliente, sua forma de pagamento, e suas marcas, digamos assim.

    Neste relatório que coloquei não tá muito bem visível, pois o relatório é pra uma coisa e as informações que coloquei são de outra coisa totalmente diferente.

    Mas basicamente seria isso, e cada marca "naka, sachs, trw, axios" e assim vai, teriam seus produtos.

    Se for realmente isso, me informe que lhe digo como proceder.


    Rodrigo Ataíde.
    quinta-feira, 26 de janeiro de 2012 11:26
  • A imagem que tinha colocado aqui não carregou. Mas é essa daqui:
    Rodrigo Ataíde.
    quinta-feira, 26 de janeiro de 2012 11:28
  • Rodrigo,

    Na verdade o relatório é um resumo do relacionamento dos seus produtos e marcas!

    Acredito que esta bastante simular a necessidade do Rafael.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quinta-feira, 26 de janeiro de 2012 11:28
  • Bom dia Júnior,

    Esse tipo de relatório me gerou um trabalho de pelo menos 1 semana (5 dias) para conseguir fazer dessa forma.

    O problema não era nem esse.

    Quando eu conseguia resolver um problema (que era por exemplo repetir as informações do topo da tabela, Pedido ID, nome do vendedor, cliente, forma de pagamento em cada página caso suas informações de marca e produtos pulassem de página) eu recebia outro problema maior ainda.

    O que eu fiz, criei um relatório do zero e fui pegando as coisas que davam certo nesse não repetia as informações do topo. No final, descubro que a criação deste é relatório é mamão com açúcar, e é tudo uma questão de agrupamento.

    Veja como é simples a solução:

    Claro que tem também a questão das informações em cada grupo e as propriedades de RepeatOnNewPage, entre outras, que caso o Rafael necessite, posso colocar aqui em um print.


    Rodrigo Ataíde.
    quinta-feira, 26 de janeiro de 2012 11:49
  • Rodrigo,

    Imagino, já desenvolvido relatórios com + de 30 subgrupos e subreports com + 100 fórmulas e expressões, demorando 30 dias para desenvolver tudo.

    Sei que não é fácil, mas no final consegui entregar.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quinta-feira, 26 de janeiro de 2012 11:52
  • Júnior,

    A empresa onde trabalho não é tão grande quanto a sua, então acredito que por enquanto (pelo menos) não precisarei criar relatórios com mais de 30 subgrupos ou subreports.

    Mas a satisfação que é receber um desafio dos superiores e conseguir completar, é tão grande que não dá vontade de parar.

    E no final, graças a Deus, todos os meus superiores aqui me dão parabéns.


    Rodrigo Ataíde.
    quinta-feira, 26 de janeiro de 2012 11:54
  • Como postado pelo Rodrigo, desde que todos os dados estejam no mesmo DataSet isso tudo pode ser feito em somente 1 tablix com 3 niveis de agrupamento de linha (sem a necessidade de colocar uma tabela dentro da outra).

    Essa forma eh preferida ao invez de usar subreports pois o reporting services consegue fazer varias otimizacoes que nao sao possiveis com subreports, o que no final pode fazer com que seu relatorio fique lento.

    Att

    Boreki


    Boreki[MSFT] - SQL Server Reporting Services
    quinta-feira, 26 de janeiro de 2012 19:51
  • Boreki,

    Concordo com você e com o Rodrigo, eu particularmente prefiro utilizar Subreports em outros geradores de relatório.

    Em relação ao Tablix com 3 níveis de agrupamento em linha eu nunca utilizei.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    domingo, 29 de janeiro de 2012 12:26