2012-01-17 70 views
0

您好我需要一個水晶幫助或IF公式我似乎無法得到的要努力,這裏是我怎麼想的公式應該寫成:水晶「或IF」功能錯誤

If {'GPD_Data_'.Deal No}= [0000,9452] and 
    {'GPD_Data_'.Saving Accepted ?} <> ["1-Accepted","Unknown"] 
then 0 
else {'GPD_Data_'.% Charges in GBP} 
or if {'GPD_Data_'.Deal No}= [9281] and 
     {'GPD_Data_'.Saving Accepted ?} = ["13-Itinerary Changed,6-Cancelled"] 
then 10 
else {'GPD_Data_'.% Charges in GBP} 

公式前或者如果部分工作正常,但在此之後無法獲得其他位的功能,任何人都可以將我指向正確的方向?

回答

0

我認爲問題是沒有或如果。你可以說OR並添加第二個條件,但是,因爲你需要另外一個else,你可能需要使用elseif或者inner if。

我沒有辦法來測試這一點,但嘗試加入一些縮進格式,代碼如下:

If {'GPD_Data_'.Deal No} = [0000,9452] and {'GPD_Data_'.Saving Accepted ?} <> ["1-Accepted","Unknown"] then 
      0 
    else 
     if {'GPD_Data_'.% Charges in GBP} 
      or ({'GPD_Data_'.Deal No}= [9281] and {'GPD_Data_'.Saving Accepted ?} = ["13-Itinerary Changed,6-Cancelled"]) then 
      10 
     else 
      {'GPD_Data_'.% Charges in GBP} 

希望這個作品。

0

和卡洛斯一樣,我認爲這個問題至少部分是由於在else之後使用or if造成的,儘管我認爲還有其他一些問題。試試這個:

If {'GPD_Data_'.Deal No} in [0000,9452] and 
    {'GPD_Data_'.Saving Accepted ?} not in ["1-Accepted","Unknown"] 
then 0 
else if {'GPD_Data_'.Deal No}= 9281 and 
     {'GPD_Data_'.Saving Accepted ?} in ["13-Itinerary Changed","6-Cancelled"] 
then 10 
else {'GPD_Data_'.% Charges in GBP} 
0

使用括號:

If {'GPD_Data_'.Deal No} = [0000,9452] and {'GPD_Data_'.Saving Accepted ?} <> ["1-Accepted","Unknown"] Then 
      0 
    Else (

     If {'GPD_Data_'.% Charges in GBP} OR ({'GPD_Data_'.Deal No}= [9281] AND {'GPD_Data_'.Saving Accepted ?} = ["13-Itinerary Changed,6-Cancelled"]) Then 
      10 
     Else 
      {'GPD_Data_'.% Charges in GBP} 
)