我有一个要在Crystal Reports公式中使用的数据库字段。数据库中的该记录存储数字和文本值。
样本值:75、85、55,无,待处理
我正在尝试在Crystal Report公式中使用此值,并且该报告应基于此字段显示特定的值。
示例:
{Database Field Value}>=85 THEN "Exceeds Expectations"
{Database Field Value}>=50 AND <=84 THEN "Met Expectations"
{Database Field Value}<49 THEN "Needs Improvement"
{Database Field Value}="none" THEN "Survey Not Taken"
{Database Field Value}="Pending" THEN "Survey Not Completed"
我正在尝试使用此公式,但其未正确显示在报告中。
IF {Database Field Value} >= TOTEXT(85) THEN "Exceeds Expectations"
ELSE IF {Database Field Value} >= TOTEXT(50) AND {Database Field Value} <= TOTEXT(84) THEN "Met Expectations"
ELSE IF {Database Field Value} < TOTEXT(49) THEN "Needs Improvement"
ELSE IF {Database Field Value}="None" THEN "Survey Not Taken"
ELSE IF {Database Field Value}="Pending" THEN "Survey Not Completed"
ELSE ""
有人可以帮忙吗?
您的公式中有多个问题
{Database Field Value}>=50 AND {Database Field Value} <=84
ToText()
转换,它仍然是文本,不会被视为数字因此您必须首先使用NumericText
功能检查该字段是否包含数字。如果包含数字,则将其转换为ToNumber
,然后将其与相应的数字进行比较。
以下公式应会给您所需的结果:
If NumericText({Database Field Value}) Then
If ToNumber({Database Field Value})>=85 Then
"Exceeds Expectations"
Else If ToNumber({Database Field Value})>=50 And ToNumber({Database Field Value})<=84 Then
"Met Expectations"
Else If ToNumber({Database Field Value})<49 Then
"Needs Improvement"
Else If {Database Field Value}="none" Then
"Survey Not Taken"
Else If{Database Field Value}="Pending" Then
"Survey Not Completed"
P.S .:数字49
将不满足任何条件...也许是故意的。