Progress
Report Builder
User’s Guide
UNKNOWN Values
Report Builder displays an UNKNOWN value if:
A field with a blank value is different than a field with an UNKNOWN value. For example, if you specify to suppress empty record lines in the record layout, Report Builder prints any line containing an UNKNOWN value.
This section describes how Report Builder processes and displays UNKNOWN values.
How Report Builder Displays an UNKNOWN Value
Report Builder displays UNKNOWN values in different ways. The following table describes the different types of UNKNOWN values and how Report Builder displays them:
Report Builder also displays question marks (????) if a numeric or date field’s value is too big for the field format.
You can specify that Report Builder display a value other than a question mark when a field is UNKNOWN. This option applies only to values that are themselves UNKNOWN; it does not apply to UNKNOWN values generated by errors.
To change the display value, follow these steps:
- Access the Set Unkown Value dialog box. You can either:
- Enter the string you want to appear in place of the default question mark.
The string appears everywhere on the report that an UNKNOWN value appears in this field. Report Builder does not use the value of the string when computing other calculated or aggregate fields.
How an UNKNOWN Value Can Occur in Report Builder
An UNKNOWN value can occur in Report Builder when:
- Report Builder reads a database field with an UNKNOWN value.
- You enter the constant value (?) in a calculated field or a user-defined function expression, or in a filter condition.
- Report Builder encounters an error evaluating a calculated field, aggregate field, or memo field. In a memo field, when Report Builder encounters an embedded reference to a nonexistent field, Report Builder replaces the reference with a question mark that indicates an UNKNOWN value.
How Report Builder Processes an UNKNOWN Value
Once an UNKNOWN value occurs, it generally causes every operation in which it occurs to result in an UNKNOWN value. Table 4–1 describes how Report Builder processes UNKNOWN values in different types of operations.
Table 4–1: UNKNOWN Value Processing Operation/Function Condition Result Binary operations If either of the operands is UNKNOWN UNKNOWN Unary operations If the operand (unary +, -, or NOT) is UNKNOWN UNKNOWN Relational operators – – – = or EQ If both operands are UNKNOWN TRUE If one operand is UNKNOWN FALSE <> or NE If both operands are UNKNOWN FALSE If one operand is UNKNOWN UNKNOWN1 – >= or GE, <= or LE If both operands are UNKNOWN TRUE If one operand is UNKNOWN UNKNOWN < or LT,
> or GT If both operands are UNKNOWN FALSE If one operand is UNKNOWN UNKNOWN Built-in functions, except for IIF, CASE, and IN-LIST If one or more of the arguments is UNKNOWN UNKNOWN IIF function If the condition is UNKNOWN The false-value If the condition is “True” The true-value, regardless of whether it is UNKNOWN If the condition is “False” The false-value, regardless of whether it is UNKNOWN CASE function If the expression argument is UNKNOWN, the when-value argument is UNKNOWN, and the default argument is any value The corresponding return-value If the expression argument is UNKNOWN, the when-value argument is any real value, and the default argument is any value The default-return-value If the expression argument is UNKNOWN, the when-value argument is any real value, and the default argument is UNKNOWN UNKNOWN IN-LIST function If the value argument is UNKNOWN, and the list contains an UNKNOWN value The position of the UNKNOWN value in the list If the value argument is UNKNOWN, and the list does not contain any UNKNOWN values 0 (zero) User-defined functions If one of the arguments is UNKNOWN The natural value of the UDF’s expression
NOTE: Report Builder sorts UNKNOWN values higher than any real value.When you use a literal UNKNOWN value (a question mark) as an operand or as a function argument, Report Builder attempts to interpolate the data type of the UNKNOWN value using the context of the operand or argument.
For example, Report Builder deduces that the UNKNOWN value in the following expression is a numeric because it is part of an arithmetic operation:
When you enter the following expression, Report Builder deduces that the UNKNOWN value is a numeric because SQRT takes numeric arguments:
When there is not enough information for the parser to determine the data type, it rejects the expression. The following expression does not provide a data type for either the second or third arguments and, therefore, Report Builder cannot deduce the data type of the UNKNOWN values or of the entire IIF expression:
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |