2013-06-11 1 views
0

J'ai ceci:Crystal Reports Formula - Comment ajouter une autre clause

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

Qu'est-ce que ce fait? et comment puis-je ajouter un autre chèque pour dire un article Nightwork? Serait-ce comme ça?

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

Répondre

1

Vous devriez vraiment se référer à la the documentation on IIF:

IIF (expression, truepart, falsepart)

Description de

IIF renvoie l'une des deux parties, selon la évaluation de l'expression.

Arguments

• L'expression est une expression booléenne.

• truePart est la valeur renvoyée si l'expression est True. Il peut s'agir de n'importe quel type simple (nombre, devise, chaîne, booléen, date, heure ou date) ou de plage (plage de numéros, plage de devises, plage de chaînes, plage de dates, plage de dates ou plage DateTime). tableau.

• falsePart est la valeur renvoyée si l'expression est False. Il doit être du même type que truePart.

donc ceci:

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

dit en gros:

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

Vous pouvez écrire votre deuxième exemple en utilisant une déclaration IN:

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