显示多个值的公式

时间:2013-03-20 12:42:25

标签: crystal-reports crystal-reports-2008

试图找到一个允许我显示某些值的公式。

示例:

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

Patient1需要:

阿司匹林 华法林 Clopidgrel

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

目前我正在看病人1和病人2,我只想看病人1的病人,他们会看到3种不同的药物。

请提前帮助并表示感谢。我正在使用2008年的水晶报告。

1 个答案:

答案 0 :(得分: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