0

试图找到一个可以让我显示某些值的公式。

例子:

我想看看阿司匹林和华法林以及(接下来的 3 个值中的一个或多个)氯吡格雷或普拉格雷或替格瑞洛。

患者 1 服用:

阿司匹林 华法林 氯吡格雷

患者 2 服用:阿司匹林 华法林

现在我看到病人 1 和病人 2,我只想看到像病人 1 这样的病人,它显示了 3 种不同的药物。

请帮助并提前感谢您。我正在使用水晶报表 2008。

4

1 回答 1

1

我建议在 SQL select 子句中添加类似以下几行的内容:

count(distinct case when medication in ('Aspirin', 'Warfarin') 
                    then medication end) 
     over (partition by patient) as mandatory_meds,
count(distinct case when medication in ('Clopidogrel', 'Prasugrel', 'Ticagrelor')
                    then medication end) 
     over (partition by patient) optional_meds,

- 然后将以下条件添加到 SQL where 子句:

and mandatory_meds = 2 and optional_meds >= 1


或者,您可以通过以下方式在 Crystal 中获得类似的结果:

  • 按患者分组报告
  • 创建一个名为mandatory_meds 的晶体公式,其公式如下:
    if {myTable.medication} = "Aspirin" or {myTable.medication} = "Warfarin"
    then {myTable.medication}
  • 创建一个名为 optional_meds 的晶体公式,其公式如下:
    if {myTable.medication} = "Clopidogrel" or {myTable.medication} = "Prasugrel"
    or {myTable.medication} = "Ticagrelor" then {myTable.medication}
  • 选择公式添加条件,例如:
    DistinctCount({@mandatory_meds})=2 and DistinctCount({@optional_meds})>=1
于 2013-03-20T13:33:43.310 回答