【问题标题】:How to compare number and string values contained in the same column如何比较同一列中包含的数字和字符串值
【发布时间】:2020-08-28 10:44:36
【问题描述】:

我有一个试图在 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 ""

有人可以帮忙吗?

【问题讨论】:

  • 数据库字段是否包含文本值?如果是,请转换字段 ToNumber。为什么要将 Number 转换为 ToText()?文本无法使用>= 或

标签: crystal-reports crystal-reports-2008 crystal-reports-2010 crystal-reports-xi crystal-reports-8.5


【解决方案1】:

您的公式中有多个问题

  1. 您不能直接将文本与数字进行比较
  2. 你不能写{数据库字段值}>=50 AND {Database Field Value}>=50 AND {Database Field Value} <=84
  3. 如果使用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 不符合任何条件...也许这是故意的。

【讨论】:

  • 嗨@MatSnow,感谢上述。该公式似乎适用于数值,但在检查“无”或“待定”时,它在报告中不显示任何内容。有什么原因可能会发生什么?
  • @Karu3103 “none”/“Pending”之前或之后可能有一个或多个空格。诸如“无”或“待定”之类的东西?
猜你喜欢
  • 2021-03-03
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多