Types of Functions

In this section:

You can access any of the following types of functions:

Simplified Analytic Functions

The following functions perform calculations based on multiple rows in the internal matrix. For details, see Simplified Analytic Functions.

FORECAST_MOVAVE

Calculates a simple moving average column.

FORECAST_EXPAVE

Calculates a single exponential smoothing column.

FORECAST_DOUBLEXP

Calculates a double exponential smoothing column.

FORECAST_SEASONAL

Calculates a triple exponential smoothing column.

FORECAST_LINEAR

Calculates a linear regression column.

PARTITION_AGGR

Creates rolling calculations.

PARTITION_REF

Retrieves prior or subsequent fields.

INCREASE

Calculates the difference between a value in the current row and a prior row within a partition.

PCT_INCREASE

Calculates the percent difference between a value in the current row and a prior row within a partition.

PREVIOUS

Retrieves a prior value within a partition.

RUNNING_AVE

Calculate the average over a group of rows within a partition.

RUNNING_MIN

Calculate the minimum over a group of rows within a partition.

RUNNING_MAX

Calculate the maximum over a group of rows within a partition.

RUNNING_SUM

Calculate the sum over a group of rows within a partition.

Simplified Character Functions

The following functions manipulate alphanumeric fields or character strings and have simplified parameter lists. For details, see Simplified Character Functions.

CHAR_LENGTH

Returns the length, in characters, of a string.

DIGITS

Converts a number to a character string of the specified length.

GET_TOKEN

Extracts a token (substring) based on a token number and a string listing acceptable delimiter characters.

INITCAP

Capitalizes the first letter of every word in a string and makes all other letters lowercase, where a word starts at the beginning of the string, after a blank space, or after a special character.

LAST_NONBLANK

retrieves the last field value that is neither blank nor missing. If all previous values are either blank or missing, returns a missing value.

LOWER

Translates a string to lowercase.

LPAD

Left-pads a string with a given character.

LTRIM

Removes all blanks from the left end of a string.

PATTERNS

Returns a pattern that represents the structure of the source string.

POSITION

Returns the first position (in characters) of a substring in a source string.

REGEX

Matches a string to a regular expression and returns true (1) or false (0).

RPAD

Right-pads a string with a given character.

RTRIM

Removes all blanks from the right end of a string.

SUBSTRING

Extracts a substring from a source string.

TOKEN

Extracts a token (substring) based on a token number and a delimiter string.

TRIM_

Removes all occurrences of a single character from either the beginning or end of a string, or both.

UPPER

Translates a string to uppercase.

Character Functions

The following functions manipulate alphanumeric fields or character strings. For details, see Character Functions.

ARGLEN

Measures the length of a character string within a field, excluding trailing blanks.

ASIS

Distinguishes between a blank and a zero in Dialogue Manager.

BITSON

Evaluates an individual bit within a character string to determine whether it is on or off.

BITVAL

Evaluates a string of bits within a character string and returns its value.

BYTVAL

Translates a character to its corresponding ASCII or EBCDIC decimal value.

CHKFMT

Checks a character string for incorrect characters or character types.

CTRAN

Translates a character within a character string to another character based on its decimal value.

CTRFLD

Centers a character string within a field.

EDIT

Extracts characters from or adds characters to a character string.

GETTOK

Divides a character string into substrings, called tokens, where a specific character, called a delimiter, occurs in the string.

LCWORD

Converts the letters in a character string to mixed case.

LCWORD2

Converts the letters in a character string to mixed case.

LCWORD3

Converts the letters in a character string to mixed case.

LJUST

Left-justifies a character string within a field.

LOCASE

Converts alphanumeric text to lowercase.

OVRLAY

Overlays a base character string with a substring.

PARAG

Divides a line of text into smaller lines by marking them with a delimiter.

POSIT

Finds the starting position of a substring within a larger string.

REVERSE

Reverses the characters in a character string.

RJUST

Right-justifies a character string.

SOUNDEX

Searches for a character string phonetically without regard to spelling.

SPELLNM

Takes an alphanumeric string or a numeric value with two decimal places and spells it out with dollars and cents.

SQUEEZ

Reduces multiple contiguous spaces within a character string to a single space.

STRIP

Removes all occurrences of a specific character from a string.

STRREP

Replaces all occurrences of a specific character string.

SUBSTR

Extracts a substring based on where it begins and its length in the parent string.

TRIM

Removes leading and/or trailing occurrences of a pattern within a character string.

UPCASE

Converts a character string to uppercase.

Variable Length Character Functions

The following functions manipulate variable length alphanumeric fields or character strings. For details, see Variable Length Character Functions.

LENV

Returns the actual length of an AnV field or the size of an An field.

LOCASV

Converts alphanumeric text to lowercase in an AnV field.

POSITV

Finds the starting position of a substring in an AnV field.

SUBSTV

Extracts a substring based on where it begins and its length in the parent string in an AnV field.

TRIMV

Removes leading and/or trailing occurrences of a pattern within a character string in an AnV field.

UPCASV

Converts a character string to uppercase in an AnV field.

Character Functions for DBCS Code Pages

The following functions manipulate character strings for DBCS code pages. For details, see Character Functions for DBCS Code Pages.

DCTRAN

Translates a single-byte or double-byte character to another character.

DEDIT

Extracts characters from or adds characters to a string.

DSTRIP

Removes a single-byte or double-byte character from a string.

DSUBSTR

Extracts a substring based on its length and position in the source string.

JPTRANS

Converts Japanese specific characters.

Data Source and Decoding Functions

The following functions search for data source records, retrieve data source records or values, and assign values. For details, see Data Source and Decoding Functions.

COALESCE

Returns the value of the first non-missing argument.

DB_EXPR

Inserts an SQL expression into the SQL generated for a request against a relational data source.

DB_INFILE

Compares values in a source file to values in a target file, or if the source file is a relational data source, to values retrieved by a subquery.

CHECKMD5

Computes an MD5 hash check value of its input parameter.

CHECKSUM

Computes hash sum of its input parameter.

DB_LOOKUP

Retrieves a data value from a lookup data source.

DECODE

Assigns values based on the coded value of an input field.

FIND

Determines if an incoming data value is in an indexed FOCUS data source field.

LAST

Retrieves the preceding value for a field.

LOOKUP

Retrieves a data value from a cross-referenced FOCUS data source in a MODIFY request.

Available Languages: MODIFY

NULLIF

Returns a missing value when its parameters have equal values.

Simplified Date and Date-Time Functions

The following functions manipulate date and date- time values. For details see Simplified Date and Date-Time Functions.

DT_CURRENT_DATE

Returns the current date.

DT_CURRENT_DATETIME

Returns the current date and time.

DT_CURRENT_TIME

Returns the current time.

DTADD

Returns a new date after adding the specified number of a supported component

DTDIFF

Returns the number of given component boundaries between the two dates.

DTIME

Extracts time components from a date-time value.

DTPART

Returns a component value in integer format.

DTRUNC

Returns the first date within a period

Date Functions

In this section:

The following functions manipulate dates. For details see Date Functions.

Standard Date Functions

DATEADD

Adds a unit to or subtracts a unit from a date format.

DATECVT

Converts date formats.

DATEDIF

Returns the difference between two dates in units.

DATEMOV

Moves a date to a significant point on the calendar.

DATETRAN

Formats dates in international formats.

DPART

Extracts a component from a date field and returns it in numeric format.

FIYR

Returns the financial year, also known as the fiscal year, corresponding to a given calendar date based on the financial year starting date and the financial year numbering convention.

FIQTR

Returns the financial quarter corresponding to a given calendar date based on the financial year starting date and the financial year numbering convention.

FIYYQ

Returns a financial date containing both the financial year and quarter that corresponds to a given calendar date.

HMASK

Extracts components from a date-time value and moves them to a target date-time field with all other components of the target field preserved.

TODAY

Retrieves the current date from the system.

Legacy Date Functions

AYM

Adds or subtracts months from dates that are in year-month format.

AYMD

Adds or subtracts days from dates that are in year-month-day format.

CHGDAT

Rearranges the year, month, and day portions of alphanumeric dates, and converts dates between long and short date formats.

DA

Convert dates to the corresponding number of days elapsed since December 31, 1899.

DADMY converts dates in day-month-year format.

DADYM converts dates in day-year-month format.

DAMDY converts dates in month-day-year format.

DAMYD converts dates in month-year-day format.

DAYDM converts dates in year-day-month format.

DAYMD converts dates in year-month-day format.

DMY, MDY, and YMD

Calculate the difference between two dates.

DOWK and DOWKL

Find the day of the week that corresponds to a date.

DT

Converts the number of days elapsed since December 31, 1899 to the corresponding date.

DTDMY converts numbers to day-month-year dates.

DTDYM converts numbers to day-year-month dates.

DTMDY converts numbers to month-day-year dates.

DTMYD converts numbers to month-year-day dates.

DTYDM converts numbers to year-day-month dates.

DTYMD converts numbers to year-month-day dates.

GREGDT

Converts dates in Julian format to year-month-day format.

JULDAT

Converts dates from year-month-day format to Julian (year-day format).

YM

Calculates the number of months that elapse between two dates. The dates must be in year-month format.

Date-Time Functions

The following functions manipulate date-time values. For details see Date-Time Functions.

HADD

Increments a date-time field by a given number of units.

HCNVRT

Converts a date-time field to a character string.

HDATE

Extracts the date portion of a date-time field, converts it to a date format, and returns the result in the format YYMD.

HDIFF

Calculates the number of units between two date-time values.

HDTTM

Converts a date field to a date-time field. The time portion is set to midnight.

HEXTR

Extracts components from a date-time value and moves them to a target date-time field with all other components set to zero.

HGETC

Stores the current date and time in a date-time field.

HMASK

Extracts components from a date-time value and moves them to a target date-time field with all other components of the target field preserved.

HHMMSS

Retrieves the current time from the system.

HINPUT

Converts an alphanumeric string to a date-time value.

HMIDNT

Changes the time portion of a date-time field to midnight (all zeros).

HNAME

Extracts a specified component from a date-time field and returns it in alphanumeric format.

HPART

Extracts a specified component from a date-time field and returns it in numeric format.

HSETPT

Inserts the numeric value of a specified component into a date-time field.

HTIME

Converts the time portion of a date-time field to the number of milliseconds or microseconds.

HTMTOTS/TIMETOTS

Converts a time to a timestamp.

Accepts a date and time in one of five formats and converts the value to native OpenVMS 64-bit DEC Date/Time format.

Simplified Conversion Functions

The following functions convert fields from one format to another, using streamlined parameter lists. For details, see Simplified Conversion Functions.

CHAR

Returns a character based on a numeric code.

COMPACTFORMAT

Converts a numeric value to an alphanumeric value that represents the number in an abbreviated format, using the characters K, M, B, and T to represent the abbreviation.

CTRLCHAR

Returns a non-printable control character.

FPRINT

Converts a numeric, date, or date-time value to a character string.

HEXTYPE

Returns the hexadecimal view of an input value.

PHONETIC

Returns a phonetic key.

Format Conversion Functions

The following functions convert fields from one format to another. For details, see Format Conversion Functions.

ATODBL

Converts a number in alphanumeric format to double-precision format.

EDIT

Converts an alphanumeric field that contains numeric characters to numeric format or converts a numeric field to alphanumeric format.

FPRINT

Converts a field to alphanumeric format.

FTOA

Converts a number in a numeric format to alphanumeric format.

HEXBYT

Obtains the ASCII or EBCDIC character equivalent of a decimal integer value.

ITONUM

Converts a large binary integer in a non-FOCUS data source to double-precision format.

ITOPACK

Converts a large binary integer in a non-FOCUS data source to packed-decimal format.

ITOZ

Converts a number in numeric format to zoned format.

PCKOUT

Writes a packed number of variable length to an extract file.

PTOA

Converts a packed decimal number from numeric format to alphanumeric format.

TSTOPACK

Converts a Microsoft SQL Server or Sybase TIMESTAMP column (which contains an incremented counter) to packed decimal.

UFMT

Converts characters in alphanumeric field values to hexadecimal representation.

XTPACK

Stores a packed number with up to 31 significant digits in an alphanumeric field, retaining decimal data.

Simplified Numeric Functions

The following functions perform calculations on numeric constants or fields, using streamlined parameter lists. For details, see Simplified Numeric Functions

CEILING

Returns the smallest integer value greater than or equal to a value.

EXPONENT

Raises e to a power.

FLOOR

Returns the largest integer value less than or equal to a value.

MOD

Calculates the remainder from a division.

POWER

Raises a value to a power.

Numeric Functions

The following functions perform calculations on numeric constants or fields. For details, see Numeric Functions

ABS

Returns the absolute value of a number.

ASIS

Distinguishes between a blank and a zero in Dialogue Manager.

BAR

Produces a horizontal bar chart.

CHKPCK

Validates the data in a field described as packed format.

DMOD, FMOD, and IMOD

Calculate the remainder from a division.

EXP

Raises the number "e" to a specified power.

EXPN

Is an operator that evaluates a number expressed in scientific notation. For information, see Using Expressions in the Creating Reports manual.

FMLINFO

Returns the FOR value associated with each row in an FML report.

FMLLIST

Returns a string containing the complete tag list for each row in an FML request.

FMLFOR

Retrieves the tag value associated with each row in an FML request.

FMLCAP

Returns the caption value for each row in an FML hierarchy request.

INT

Returns the integer component of a number.

LOG

Returns the natural logarithm of a number.

MAX and MIN

Return the maximum or minimum value, respectively, from a list of values.

MIRR

Calculates the modified internal rate of return for a series of periodic cash flows.

NORMSDST and NORMSINV

Perform calculations on a standard normal distribution curve.

PRDNOR and PRDUNI

Generate reproducible random numbers.

RDNORM and RDUNIF

Generate random numbers.

SQRT

Calculates the square root of a number.

XIRR

Calculates the internal rate of return for a series of cash flows that can be periodic or non-periodic.

Simplified Statistical Functions

The following functions perform statistical functions. For details, see Simplified Statistical Functions.

CORRELATION

Calculates the degree of correlation between two independent sets of data.

KMEANS_CLUSTER

Partitions observations into clusters based on the nearest mean value.

MULTIREGRESS

Calculates a linear regression column based on multiple fields.

STDDEV

Calculates the standard deviation in a set of data values.

Simplified System Functions

The following functions call the operating system to obtain information about the operating environment or to use a system service, using streamlined parameter lists. For details, see Simplified System Functions

EDAPRINT

Inserts a custom message in the EDAPRINT log file.

ENCRYPT
Encrypts a password.
GETENV
Retrieves the value of an environment variable.
PUTENV
Assigns a value to an environment variable.

System Functions

The following functions call the operating system to obtain information about the operating environment or to use a system service. For details, see System Functions

CLSDDREC

Closes a file and frees the memory used to store information about open files.

FEXERR

Retrieves an Information Builders error message.

FINDMEM

Determines if a specific member of a partitioned data set (PDS) exists in batch processing.

Available Operating Systems: z/OS

GETPDS

Determines if a specific member of a partitioned data set (PDS) exists, and if it does, returns the PDS name.

Available Operating Systems: z/OS

GETUSER

Retrieves the ID of the connected user.

MVSDYNAM

Transfers a FOCUS DYNAM command to the DYNAM command processor.

Available Operating Systems: z/OS

PUTDDREC

Writes a character string as a record in a sequential file. Opens the file if it is closed.

SLEEP

Suspends execution for a specified number of seconds.

SYSVAR

Retrieves the value of a z/OS system variable.

Available Operating Systems: z/OS

Available Languages: reporting