获取组中的独特计数以仅考虑最近的记录

时间:2016-10-13 10:31:01

标签: mysql group-by crystal-reports max distinct-values

我正在考虑总结每名患者在医院接受病人最近一次住院所规定的药物数量。在我的小组输出中,我目前有:

Patient ref 1234,Total Drugs 9
Patient ref 3456, Total Drugs 12

然而,在这个例子中,我们可以说最近住院时的药物总数(与所有住院相对)应该是:

Patient ref 1234,Total Drugs 6
Patient ref 3456, Total Drugs 10

当我将所有药物和其他信息放入“详细信息”时,我能够成功地限制在最近一次住院期间仅显示药物 使用选择公式,组选择:

({patient_stay.lnkstay} = Maximum({patient_stay.lnkstay},{patient_number}))

注意如果患者住院三次,则字段patient_stay.lnkstay将显示1.00,2.00,3.00,其中3.00是最近的。但是在我的小组结果中:

Patient ref 1234,Total Drugs 9
Patient ref 3456, Total Drugs 12

我似乎无法获得DistinctCount(目前用于生产总药物9和12),仅计入每位患者的最近住院时间。所以我需要一种方法来区分DistinctCount仅针对与每位患者最近停留相关的药物(使用最大的现场patient_stay.lnkstay)。

1 个答案:

答案 0 :(得分:0)

您需要改变一下逻辑。试试这个:

使用{patient_stay.lnkstay}创建第二个组,并在组页脚2中获取摘要。

现在在组头2和组页脚2的压缩中使用以下逻辑

({patient_stay.lnkstay} = Maximum({patient_stay.lnkstay},{patient_number}))

完全抑制详细信息,Group Header1和Group footer1