我如何根据条件对组进行小计

时间:2014-07-18 19:14:27

标签: crystal-reports

我的报告分组在clinicstaffname上,小计由clinic组成。我需要按照他们有超过1个入学日期的工作人员对患者进行统计。我可以获得正确的总计,但在细节和小计上,它是一个渐进的数字。

这就是我想要的东西

clinic1
staffname1   10
staffname2   95
subtotal    105
clinic2
staffname3    6
subtotal      6
grand total 111 

这是我得到的:

clinic1
staffname1   10
staffname2  105
subtotal    105
clinic2
staffname3  111
subtotal    111
grand total 111

2 个答案:

答案 0 :(得分:0)

其中很多可能取决于您的数据结构,例如,您的“详细信息”级别。我还假设您想要计算有多少患者有多个入院日期,多次入院患者的入院总数。鉴于此,假设患者每个入院日期只出现一次,那么这应该有效:

  1. 也是患者分组,所以它是诊所 - >工作人员 - >耐心,但压制那个群体。
  2. 创建一个公式,以计算每个患者组中的记录数是否大于1,如下所示:if count({patient},{patient}) > 1 then 1 else 0
  3. 采取您刚刚创建的公式,并使用它来创建总计字段,例如,在工作人员的头部,它会给您一个计数或该工作人员,在诊所,它将为诊所,等
  4. 需要考虑的其他因素:我猜这可能是为了通过查看有多少患者需要寻求额外治疗来衡量员工的质量。即使这不是完全的意图,无论这个用途是什么,都可能被遇到更多/更少患者的工作人员所扭曲。例如,在100次访问中有10次重新入院的工作人员看起来比仅有5次重新入院的人更糟糕,但也只见过20名患者。

    所以:除了您要求提供信息的指标外,我还会添加一个比率指标。在工作人员标题中,这将是直截了当的:count({patients}) / distinctcount({patients}),它将为您提供不同重复访问的比率。还要记住,对于有例如50名患者的工作人员而言,这可能会有很大的偏差,但其中一名员工已经回来了十几次。

答案 1 :(得分:0)

获取具有Greater than 1

的字段的计数

Assuming the count field is a database field and value coming directly from database

  1. 创建公式@Count并写下以下代码。将forumla放在详细信息中。 :

    if(databaswefield.count > 1)
    then 1
    else 0
    
  2. 现在,在所需的组页脚中获取@count公式的摘要。

  3. 如果您正在寻找不同的东西,请告诉我。

    编辑.............................................. ................

    如果我的评论正确无误。

    虽然您选择了distinct count,但您可以将值存储在shared variable中,从而在计算中使用它。像下面这样的东西,你可以从该变量中追溯价值

    Shared Numbervar count;
    count:=distinctcount(patientid)