|
|
|
|
|
Dicas
|
|
Visual Basic (Crystal Reports)
|
|
|
Título da Dica: Relatório Top N dinâmico com processamento do lado servidor e gráfico Top N
|
|
|
|
Postada em 6/10/2003 por ~Ð@®£@Ñ
Refere-se a: Crystal Reports 9
Problema
No Crystal Reports (CR) 9, como você cria um relatório com Top N dinâmico?
O Top N dinâmico tem as seguintes características:
• Um parâmetro baseado no valor N
• Um gráfico que reflete o valor N
• Processamento “Server-side” do lado do servidor, onde apenas os N grupos são retornados do banco de dados para maximizar a performance.
Solução
Nova no CR 9 é a característica 'Add Command'. Com a característica 'Add Command', relatórios Top N podem ser criados com as seguintes características:
• Um parâmetro Command baseado no valor N • Um gráfico que dinamicamente mostra o valores do parâmetro Top N. • Fórmulas de Grupo e seleção de registros são processadas no servidor.
Exemplo que detalha a criação de um relatório TOP N dinâmico no CR 9 --------------------------------------------------------
Este exemplo está baseado no banco de dados Xtreme database (Xtreme.mdb) que é instalado como um exemplo com o CR. Os detalhes do exemplo são:
• Xtreme é um banco de dados Microsoft Access (MDB).
• O valor Top N é baseado no campo Last Years_Sales da tabela Customer.
• O relatório está agrupado pelo campo Country da tabela Customer
Os seguintes passos estão referenciando os detalhes do exemplo. Substitua os detalhes do exemplo com seu banco de dados, campos e sintaxe SQL.
Passos para criar um relatório com Top N dinâmico no CR 9 ----------------------------------------------
1. Crie um novo relatório selecionando o comando 'As a Blank Report' .
2. Conecte-se ao Xtreme.mdb.
3. Na caixa de diálogo Available Data Sources, duplo-clique no 'Add Command'.
4. Clique em 'Create' para criar um parâmetro Command. Neste exemplo, chame o parâmetro de "N" e altere o tipo de valor para Number.
5. No SQL Command Editor, crie uma consulta SQL similar a seguinte sintaxe:
SELECT TOP {?N} `Customer`.`Country`, SUM(`Customer`.`Last Year's Sales`) AS Sum_Last_Years_Sales FROM `Customer` `Customer` GROUP BY `Customer`.`Country` ORDER BY SUM(`Customer`.`Last Year's Sales`) DESC
==================== OBS:
A sintaxe SQL no exemplo acima é aplicável ao Microsoft Access. Quando estiver criando relatórios com a característica 'Add Command', a sintaxe SQL aplicável ao seu banco de dados é necessária.
Verifique a diferença entre a sintaxe SQL do Access e SQL Server baseadas num banco de dados similar.
Exemplo de sintaxe SQL para o Microsoft SQL Server ----------------------------------------------
SELECT TOP {?N} SUM("CUSTOMER"."LAST_YEARS_SALES")AS Sum_Last_Years_Sales,"CUSTOMER"."COUNTRY" FROM "Xtreme"."dbo"."CUSTOMER" "CUSTOMER" GROUP BY "CUSTOMER"."COUNTRY" ORDER BY SUM("CUSTOMER"."LAST_YEARS_SALES") DESC
Exemplos de sintaxe SQL são dados como dicas. O Depto Técnico da Crystal Decisions não é responsável pela criação de sintaxe SQL apropriada ao seu banco de dados. ====================
6. Clique em 'OK' para sair do SQL Command Editor.
7. Dê o Preview do relatório.
8. Insira um gráfico com o campo Country como o valor de 'On Change Of' e o campo de expressão gerado pelo Command (Sum_Last_Years_Sales) como o 'Show Value'.
|
|
|
|
|