我的报告显示,根据每个病人只有最新诊断其date_of_diagnosis
- 所有其他记录被抑制:忽略交叉抑制记录
我在交叉表诊断和年龄组的总结。交叉表在打印之前进行评估,所以任何试图抑制,共享变量或总结在之后会填充交叉表。这意味着总在各年龄组是正确的,因为每个病人只有一岁 - 但如果患者有一个以上的诊断,即使他们压制,他们获得多次计算:
我绝对是必须由于涉及大量的诊断和年龄组,因此使用交叉表。我怎样才能让交叉表忽略被压制的记录?或者,如果我需要使用自定义的SQL命令表,我如何重写现有的SQL以忽略过时的记录?
水晶的自动生成的SQL(通过ODBC):
SELECT "Codes"."diagnosis_code",
"Codes"."diagnosis_value",
"Codes"."PATID",
"Codes"."FACILITY",
"Codes"."EPISODE_NUMBER",
"Record"."date_of_diagnosis"
FROM "SYSTEM"."Codes" "Codes",
"SYSTEM"."Entry" "Entry",
"SYSTEM"."Record" "Record"
WHERE "Codes"."DiagnosisEntry"="Entry"."ID" AND
"Codes"."EPISODE_NUMBER"="Entry"."EPISODE_NUMBER" AND
"Codes"."FACILITY"="Entry"."FACILITY" AND
"Codes"."PATID"="Entry"."PATID" AND
"Entry"."DiagnosisRecord"="Record"."ID" AND
"Entry"."EPISODE_NUMBER"="Record"."EPISODE_NUMBER" AND
"Entry"."FACILITY"="Record"."FACILITY" AND
"Entry"."PATID"="Record"."PATID"
只是说:如果你不会使用抑制数据,那么也许你可以添加一个条件到你的查询:'AND Date_Of_Diagnosis IS NOT NULL' – Zeina
只是一个注意:这不是一个实际的方式来加入你的你应该尝试使用LEFT或INNER JOIN – Zeina
@Zeina(我知道,这只是Crystal自动生成的查询,如果我需要重写查询来解决这个问题,我将使用Joins。)问题不是当诊断日期为空时,诊断日期不是每位患者的最新*诊断时。交叉表忽略任何抑制。 – 4444