【问题标题】:Selection formula excluding rows with columns having null values选择公式不包括具有空值的列的行
【发布时间】:2013-06-13 01:07:17
【问题描述】:

我有一个奇怪的问题。我有一个报告 CR。在选择公式中,我对两个字段进行了测试。测试很简单:{field_City} = 'Paris' OR {field_Country} = 'France'.

这是我表中的数据示例:

|---------------|---------------|---------------|
|   ID_Record   |    Country    |      City     |
|---------------|---------------|---------------|
|        1      |      null     |      Paris    |
|---------------|---------------|---------------|
|        2      |      France   |      null     |
|---------------|---------------|---------------|
|        3      |     France    |      Paris    |
|---------------|---------------|---------------|

选择的结果应该是 3 条记录,但它不包括其中一列中有空值的前 2 行。然后我改变了这样的选择公式来考虑空值:({field_City} = 'Paris' AND (isnull({field_Country}) OR not(isnull({field_Country})))) OR ({field_Country} = 'France' AND (isnull({field_City}) OR not(isnull({field_City})))) 但我仍然只得到最后一条记录!为了确保我自己的代码是正确的,我通过 CR 'Show sql query' 中的选项生成了 sql 查询,然后我添加了一个 WHERE 子句,我在其中编写了与选择公式中相同的条件,而且......它给了我3条记录!不幸的是,我无法使用 sql 查询,我必须找出为什么公式会排除其中一列中具有空值的记录:(我希望你能帮助我。非常感谢!

这是解决方案:((isnull({field_Country}) AND {field_City} = 'Paris') OR (isnull({field_City}) AND {field_Country} = 'France') OR (not(isnull({field_Country})) AND {field_City} = 'Paris') OR (not(isnull({field_City})) AND {field_Country} = 'France')),非常感谢克雷格!

【问题讨论】:

    标签: crystal-reports crystal-reports-2008 crystal-reports-xi


    【解决方案1】:

    您需要先测试空值

    ( Not(Isnull({field_Country})) AND {field_Country}='France' )
    OR
    ( Isnull({field_Country}) AND {field_City}='Paris' )
    

    【讨论】:

    • 嗨 Craig,感谢您的帮助,但是我仍然有相同的结果 :( 我先测试 null 但没有任何改变。我不知道直到现在我们仍然拥有这些虚拟技术 :(
    • 你好,克雷格。对不起,伙计,这件事太奇怪了。它现在起作用了,因为首先我测试了两个字段的空值,然后测试了两个字段的非空值。这是解决方案: ((isnull({field_Country}) AND {field_City} = 'Paris') OR (isnull({field_City}) AND {field_Country} = 'France') OR (not(isnull({field_Country})) AND {field_City} = 'Paris') OR (not(isnull({field_City})) AND {field_Country} = 'France')) ,非常感谢!
    猜你喜欢
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    相关资源
    最近更新 更多