![](/img/trans.png)
[英]Crystal Reports:IF/THEN/ELSE with null values and multiple conditions
[英]NULL values in Crystal Reports
我正在嘗試生成一個Crystal報告,為我們的客戶顯示主要和替代聯系方式。
如果客戶具有兩種類型的地址(即MAIN和ALTERNATE),則所有方法都可以正常工作,但對於僅具有MAIN地址的客戶,根本沒有任何報告。 因此,總而言之,所有客戶都會有一個MAIN地址,但只有一些會擁有MAIN和ALTERNATE地址。
我需要獲取報告以為所有沒有第二個地址的客戶打印表格(在本例中,數據庫中的Addresses2.AddressType為ALTERNATE或NULL)。
我的選擇公式如下所示:
{SubscriptionMembers.Current} and
{Categories.CategoryType} = "M" and
{SubscriptionMembers.MainSubscription} and
{Addresses.AddressType} in ["MAIN"] and
{Addresses2.AddressType} in ["ALTERNATE"] and
{Addresses.Country} = "United Kingdom" and
not {SubscriptionMembers.Lapsed} and
not {Contacts.Deleted}
我建議使用包含(isnull({Addresses2.AddressType},'ALTERNATE'))之類的SQL Expression Field,並在記錄選擇公式中使用此字段-這樣,您就不必依賴於有關處理NULL值等的報告選項。
因為只有一些具有“備用地址”,所以選擇公式僅向客戶顯示“主”和“備用”地址。
我假設每個客戶都有一個主地址。我要解決的方法是{Addresses2.AddressType} in ["ALTERNATE"] and
取出{Addresses2.AddressType} in ["ALTERNATE"] and
在與主地址相同的部分(組)中刪除“替代”地址詳細信息。
只要這些鏈接正確,它將顯示您其他選擇參數中的每個客戶,因此將顯示“主要”和具有“替代”地址的客戶。 外觀如何:
組-客戶ID
'MAIN' address details here 'ALTERNATE' address details here
組-詳細信息
'DATA' here
由於無論哪種情況都需要獲得客戶,因此一種方法是不在記錄選擇公式中使用地址。 而是創建一個公式來檢查address2是否為null
If isnull ({Addresses2.AddressType} in ["ALTERNATE"]) then your code Else If (Addresses.AddressType} in ["MAIN"] or {Addresses2.AddressType} in ["ALTERNATE"]) Then your calculation
這樣您可以輕松處理
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.