我是Crystal Reports的新手,并且一直试图解决这个问题。我正在运行Crystal Reports XI。请帮忙。
The data:
john respMonitor 5
abe case mgmt 4
Cy test1 4
Claire respMonitor 5
Moe test3 2
Bob case mgmt 8
Lynn respMonitor 4
Rick test2 33
Ray test1 31
Al test1 24
etc.
我想创建以下数据:
group cost
sumOfTests1_3 124.0 <====== want a sum of tests only
respMonitor 5.0
caseMgmt 7.0
respMonitor 3
respMonitor 2
caseMgmt 4
etc.
所以我希望能够只在总结测试的同时让其他组独自一人。
I created a sql expression field:
{%testCM}
(
SELECT sum("Patient"."cost") From PatientTbl
Where "PatientTbl"."group"= 'test1' OR
"PatientTbl"."group"= 'test2' OR
"PatientTbl"."group"= 'test3'
)
In my Record Selection I have:
{PatientTbl.group} in ["respMonitor","case mgmt", "test1","test2","test3"]
I also created a formula field:
If {PatientTbl.group} in ["test1", "test2","test3"] Then
{%testCM}
公式字段中是否应该有一个Else块来打印其余部分? 我不知道如何仅仅总结组“测试”的成本,同时让其他组仍然单独打印出来。不知道从哪里开始。
谢谢, 约翰
答案 0 :(得分:1)
我认为你不需要SQL表达式。只需添加此公式并将其用作组表达式,然后将成本相加。具有一个成本的组仍将显示正确的值。
if {PatientTbl.group} in ["test1", "test2","test3"] Then
"Test1-3"
else
{PatientTbl.group}
答案 1 :(得分:0)
一种方法是创建一个子报告来完成测试的总和,并在主报告中在子报告之后插入另外一个部分放置该字段,并在显示测试时写入该部分的抑制条件。
抑制条件是:
if {PatientTbl.group} in ["test1", "test2","test3"] Then
true
else
false