Valores máximos e mínimos de uma fórmula resumida no Crystal Reports 2008
Valores máximos e mínimos de um problema de fórmula resumido
Olá, atualmente estou usando o Crystal Reports 2008, que está obtendo seus dados de um banco de dados Oracle. Eu examinei isso longamente e não consegui encontrar as informações necessárias. Eu tenho consulta sobre como obter os valores máximo e mínimo de uma determinada fórmula que totaliza 2 ou mais campos. Um instantâneo das informações que estou usando é:
Field1 = dB1.Left_Serious
Field2 = dB1.Left_Dangerous
Field3 = @Tester
Formula = @LeftTot
Os campos 1 + 2 são a pontuação total dada pelo testador para cada teste à esquerda.
Test Field1 Field2 Field3
1 2.0 4.0 J Adams
2 1.0 1.0 J Adams
3 1.0 0.0 S Grey
4 0.0 1.0 S Grey
5 5.0 0.0 D Jones
6 5.0 8.0 D Jones
A fórmula para obter o total geral para o teste esquerdo de cada testador usa um agrupamento por testador:
@LeftTot
Sum ({dB1.Left_Serious}, {@Tester}) + Sum (dB1.Left_Dangerous}, {@Tester})
Usando os detalhes acima, obtemos:
J Adams = 8.0
S Grey = 2.0
D Jones = 18.0
O valor máximo é, portanto, 18.0 e o valor mínimo é 2.0 e a diferença necessária é 16.0.
O problema que tenho é que não posso usar os comandos Máximo ou Mínimo, pois o Crystal 2008 não permitirá que você use as Funções de Resumo como Máximo em uma fórmula que soma dois campos. Sei que você poderia criar um novo campo agregado no banco de dados que resolveria o problema, mas atualmente não tenho acesso de administrador aos bancos de dados e não posso criar novas tabelas ou campos de dados.
Tentei fazer a bola rolar usando o seguinte código em 3 novas fórmulas:
@LeftTotGrpHdr
//This Formula needs to be placed into the Group Header to reset variable
WhilePrintingRecords;
NumberVar LEFTTL:=0
@LeftTotGrpFtr
//This Formula needs to be placed into the Group Footer to display variable
WhilePrintingRecords;
NumberVar LEFTTL
@LeftTotCr
//This Formula declares and works out Total Left Tests
WhilePrintingRecords;
Global NumberVar LEFTTL:=LEFTTL + {@LeftTot}
No entanto, quando tento usar
Maximum({@LeftTotCr})
em uma nova fórmula, ainda recebo a mensagem de erro "Este campo não pode ser resumido".
Há outra maneira de fazer isso?
Felicidades
Daveyt