我如何在 Crystal 中报告 id 为某个数字的列的总和数据

How do I in Crystal Report sum data on a column where id is some number

我是 Crystal 报告的新手,一段时间以来一直在努力解决这个问题。我是 运行 Crystal 报告 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 块来打印其余部分? 我看不出如何仅汇总组 "test" 的成本,同时让其他组仍然单独打印出来。不知道从这里去哪里。

谢谢, 约翰

我认为您不需要 SQL 表达式。只需添加此公式并将其用作您的组表达式,然后对成本求和。一个成本的组仍将显示正确的值。

if {PatientTbl.group} in ["test1", "test2","test3"] Then
    "Test1-3"
else
    {PatientTbl.group}

一种方法是创建一个子报告来对测试进行求和,并在主报告中在子报告插入一个部分后放置该字段并为该部分编写抑制条件以在有测试时抑制显示。

抑制条件为:

if {PatientTbl.group} in ["test1", "test2","test3"] Then
true
else
    false