2013-08-09 4 views
1

Я только начал изучать Crystal Reports, и я по следующей формуле форматирования:Crystal Reports Условный Округление

local numberVar result; 
if GroupName ({SCD_CUSTOMER.NAME}) = "32 Bar Blues, LLC" Then 
(
    result = round({PTS_PRI_ORDER_PRICING.SELLING_PRICE}, 2); 
    result; 
) 
Else defaultAttribute 

Некоторое время я не имел Else заявление там, и я не мог понять, почему отчет будет охватывать ВСЕ ценности sell_price, а не только для 32 Bar Blues, LLC.

Вложите остальное в исправленную проблему, но я до сих пор не понимаю. Почему этот раунд выполняется, когда его даже никогда не нужно искать для scd_customer.name! = 32 Bar Blues, LLC? Что мне здесь не хватает?

+0

Эти формулы всегда берете последнее значение, представленное как возвращаемое значение, если нет другого - каково последнее возвращаемое значение? – Orbling

+0

Я полагаю, что моя ментальная модель ошибочна. Как новичок в Crystal, но знакомый с программированием, переменная result никогда не возвращается для записей, не соответствующих условию, на мой взгляд. После этого в качестве возвращаемого значения не будет представлено значение, и оно будет по умолчанию значением db. Это похоже на обратный способ сделать это для меня. – Travis

+0

Crystal Reports обычно назад, я нахожу. На самом деле, если это просто наоборот, это обычно то, что проходит навсегда. Это обычно диагональ сверху, с резкой точкой. – Orbling

ответ

0

Есть несколько вещей, которые можно первый из них вы сравниваете строку таким образом это может быть возможно, что вы написали неправильно имя строки Его слепая догадка пытаются использовать ниже заявление в «IF»

if GroupName ({SCD_CUSTOMER.NAME}) == "32 Bar Blues, LLC" Then