2013-06-11 32 views
0

我有这样的:水晶报表公式 - 如何增加一个条款

IIF ({REPORT_INVOICE_SUMMARY.ITEMCONCAT} = 'Daywork', 
     {REPORT_INVOICE_SUMMARY.QUANTITY}, 
     0) 

这是什么做的?以及如何添加另一个支票来说出Nightwork项目?它会是这样吗?

IIF ({REPORT_INVOICE_SUMMARY.ITEMCONCAT} = 'Daywork' or {REPORT_INVOICE_SUMMARY.ITEMCONCAT}= 'Nightwork', 
     {REPORT_INVOICE_SUMMARY.QUANTITY}, 
     0) 

回答

1

你真的应该参考the documentation on IIF

IIF(表达,truePart,falsePart)

说明

IIF返回两个部分之一,这取决于表达的评估。

参数

•表达式是一个布尔表达式。

•truePart是表达式为True时返回的值。它可以是任何简单类型(数字,货币,字符串,布尔值,日期,时间或日期时间)或范围类型(​​数字范围,货币范围,字符串范围,日期范围,时间范围或日期时间范围),但它可能不是阵列。

•falsePart是表达式为False时返回的值。它必须与truePart类型相同。

所以这个:

IIF ({REPORT_INVOICE_SUMMARY.ITEMCONCAT} = 'Daywork', 
    {REPORT_INVOICE_SUMMARY.QUANTITY}, 
    0) 

基本上说:

IIF ({REPORT_INVOICE_SUMMARY.ITEMCONCAT} IN ["Daywork", "Nightwork"], 
    {REPORT_INVOICE_SUMMARY.QUANTITY}, 
    0) 

IF REPORT_INVOICE_SUMMARY.ITEMCONCAT = 'Daywork' THEN 
    REPORT_INVOICE_SUMMARY.QUANTITY 
ELSE 
    0 

您可以使用IN语句写你的第二个例子