Pergunta

Estou usando o ActiveReports com asp.net, mas acho que a resposta para qualquer componente de relatório semelhante servirá.

Eu tenho dois resultados para mesclar e mostrar em um único relatório, como:

Table 1:

Name Job              Start End
Jack Some service     1992  1997
Jack Some Sales Exp   1998  2007
Jane Some programming 2000  2003

Table 2:

Name Training
Jack Shiny French Certificate
Jane Crappy database certificate
Jane Some courses in management

E o relatório deve parecer:

Jack
  Job History:
    Some Corp, 1992-1997
    Some Sales Exp, 1998-2007
  Training History:
    Shiny French Certificate
Jane
  Job History:
    Some programming, 2000-2003
  Training History:
    Crappy database certificate
    Some courses in management

Como devo mesclar as duas tabelas e como devo projetar o layout para alcançar o relatório no exemplo dado?

Atualizar:

Como você deve notar, não estou tentando fazer isso com uma única seleção. Eu tenho dois dados de dados como fonte e posso mesclá -los manualmente para obter uma única fonte de dados. Estou tentando usar o agrupamento, mas preciso de dois tipos de grupos para cada funcionário. Um para os empregos e outro para os treinamentos. Como posso usar grupos ou sub-relatórios para vincular esse tipo de dados (e como devo processar os dados, se necessário)?

Foi útil?

Solução

Use sub -relatórios ... Crie um relatório principal que tenha dois sub -relatórios. Um sub -relato de histórico de trabalho e um sub -relato para o histórico de treinamento. O relatório principal precisará de uma consulta que retornará uma lista de pessoas. Em seguida, para cada pessoa nos detalhes do relatório principal, defina um parâmetro em cada um dos sub -relatórios da criança que refinará a consulta nesses dois para listar o histórico de trabalho ou o histórico de treinamento apenas para a pessoa atual exibida no relatório dos pais.

Um passo a passo detalhado que explica como fazer esse passo a passo está no site da dinâmica de dados aqui. Algumas informações sobre a visão geral também são aqui

Outras dicas

Em geral, você não pode fazê -lo em uma única instrução SELECT. A maioria das ferramentas de relatório oferece algum tipo de "sub -relato" ou "seções internas" que são executadas em uma pergunta SQL diferente e que alguns parâmetros passam do relatório principal. Você pode usar dois sub -relatórios e um relatório mestre.

Você deve selecionar essas duas tabelas com a seção "Left-Join", criar uma seção "Groupheader/rodapé" no relatório e definir a seção "Datafield" na seção "Groupheader", que deve ser usada como agrupamento.

Veja as amostras da ActiveReports, elas certamente têm uma amostra para agrupamento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top