如何检查一个设施的值是否为真,而其他设施的值为假

How check if value true for one facility but false for other facilities

我正在尝试在 crystal 报告中构建一个 SelectionFormula,它将检查一个设施的警报列是否为 true,而其他设施是否为 false。对于同一人的警报,对于不同的设施,任何具有真假的警报都将包含在报告中。

例如数据:

Last  First  Facility   Alert
Yoda  Guy    A          true
Yoda  Guy    B          false
Skyw  Luke   A          true

我希望我的报告给我 Yoda 而不是 Skyw,并列出 Yoda 拥有的设施以及他的名字和警报值。

需要举报:

Last  First  Facility   Alert
Yoda  Guy    A          true
Yoda  Guy    B          false

会是 Report=>SelectionFormulas=>record

{Facilities.Alert} = true
and
{Facilities.Alert} = false

我看不出如何搭配每个案例中的一个人。我认为以上内容会为所有人提供完整的真假警报列表。

那是在还是不在?那会怎样?我是 crystal 的新手。 in and not in

*更新:我尝试按照下面的答案 (@millet) 进行操作。我为每个 table 添加了别名,并制作了 link,所以为了方便,它是 != 在别名和非别名 link 之间。

我为 Facility 添加了 Alert_True,为 Facility_1(别名)添加了 Alert_False,只是将字段拉入报告以进行警报。

然后,在 Report=>SelectionFormulas=>record 中,我添加了这个:

(
({Facilities.Alert} = true) 
or 
({Facilities_1.Alert} = false)
)

不过好像也没用。在我看到的结果中:

Last  First  Facility   Alert_True   Alert_False
Yoda  Guy    A          true        true
Yoda  Guy    B          true        true
Yoda  Guy    B          true        false
Yoda  Guy    A          false       false
Skyw  Luke   A          false       false
Skyw  Luke   C          false       false

我希望报告仅显示某些设施的警报何时为真,但至少不是全部。

**更新: 我根据下面的评论将 SelectionFormula 更改为这个,结果看起来不错,但并不明显。我不确定如何使警报差异更加明显。我改变了这个:

(
    ({Facilities.Alert} = true) 
    and 
    ({Facilities_1.Alert} = false)
    )

生成的 table 看起来像这样(原始数据可能已被修改):

Last  First  Facility   Alert_True   Alert_False
Yoda  Guy    A          true        false
Yoda  Guy    B          true        false
Yoda  Guy    C          true        false
Yoda  Guy    D          true        false
Skyw  Luke   A          true       false
Skyw  Luke   C          true       false
Test  TT     H          true       false
Test  TT     H          true       false

出于某种原因,它总是在第一个警报列中显示 true,在第二个警报列中显示 false。当我去我们的应用程序并检查发现的结果时,在这些设施中,至少有一个总是被检查,而有些则没有。但是,您无法从结果中分辨出它们是什么。例如,对于上面的测试,对于设施 S 他没有检查,但是对于设施 H 他检查了,而对于设施 J 他没有检查。但是报告只显示设施H进行测试。

解决此问题的一种方法是通过 table 别名:

将相关的 table 第二次带入报告(Crystal 会要求您为每个 table 的第二个实例指定一个别名)。

添加一个人是同一个人但设施不是同一设施的加入条件

添加一条记录选择条件,第一次Alert为True,第二次Alert为False