Use functions to perform calculations with your data, change the format of your data, and more.

functionCount

syntaxdescription
  • ABS

    numeric_functions

    ABS(Number)

    The ABS function returns the absolute value of a number. The absolute value of zero or a positive number remains the same. The absolute value of a negative number is the same number without the negative sign (the positive version).

  • ADDMONTHS

    time_and_date_functions

    ADDMONTHS(Date, number)

    The ADDMONTHS function adds a number of months to a date.

  • ADDYEARS

    time_and_date_functions

    ADDYEARS(Date, number)

    The ADDYEARS function adds a number of years to a date.

  • AGENTS

    call_center_planning_functions

    AGENTS(SLA, Target response time, Arrival rate, Average duration)

    The AGENTS function calculates the number of servers (or agents) needed to fulfil requests within a target time.

  • AGENTSB

    call_center_planning_functions

    AGENTSB(SLA, Arrival rate, Average duration)

    The AGENTSB function calculates the number of servers required to answer a specified percentage of calls (or SLA) within a busy period.

  • ALL

    aggregation_functions

    Source[ALL: Mapping, ALL: Mapping 2, etc.]

    The ALL aggregation function returns a TRUE result for all values that match specific Boolean criteria in a source module.

  • ANSWERTIME

    call_center_planning_functions

    ANSWERTIME(Number of servers, SLA, Arrival rate, Average duration)

    The ANSWERTIME function calculates the minimum hold time required to answer a certain percentage of calls, or service level agreement (SLA).

  • ANY

    aggregation_functions

    Source[ANY: Mapping, ANY: Mapping 2, etc.]

    The ANY aggregation function returns a TRUE result for any value that matches specific Boolean criteria in a source module.

  • ARRIVALRATE

    call_center_planning_functions

    ARRIVALRATE(Number of servers, SLA, Target response time, Average duration)

    The ARRIVALRATE function calculates the maximum interval between requests possible while processing a specified percentage of these requests.

  • AVERAGE

    aggregation_functions

    Values to average[AVERAGE: Mapping, AVERAGE: Mapping 2, etc.]

    The AVERAGE aggregation function takes a set of values from a source module and returns the mean average in a result module.

  • AVGDURATION

    call_center_planning_functions

    AVGDURATION(Number of servers, SLA, Target response time, Arrival rate)

    The AVGDURATION function calculates the required average duration of calls in order to answer a certain percentage of calls, or service level agreement (SLA).

  • AVGWAIT

    call_center_planning_functions

    AVGWAIT(Number of servers, Arrival rate, Average duration)

    The AVGWAIT function calculates the average waiting time for a request or call to be processed.

  • CODE

    miscellaneous_functions

    CODE(Item)

    The CODE function returns a list item's code.

  • COLLECT

    miscellaneous_functions

    COLLECT()

    Use the COLLECT function in a module that includes a line item subset to pull the source line item values into the module.

  • COMPARE

    logical_functions

    COMPARE(Text to compare 1, Text to compare 2 [, Comparison mode] [, Locale])

    The COMPARE function compares text values. If they're the same, it returns 0. If the first text value is greater, it returns 1, and if the first text value is less, it returns -1.

  • COUPDAYBS

    financial_functions

    COUPDAYBS(Settlement, Maturity, Frequency[, Basis])

    Use the COUPDAYBS (coupon days before settlement) function to calculate the number of days from the beginning of the coupon period until its settlement date. The number returned includes both the first day of the period and the settlement date.

  • COUPDAYS

    financial_functions

    COUPDAYS(Settlement, Maturity, Frequency[, basis])

    Use the COUPDAYS function to return the number of coupon days in the coupon period that contains the settlement date.

  • COUPDAYSNC

    financial_functions

    COUPDAYBS(Settlement, Maturity, Frequency[, basis])

    Use the COUPDAYSNC function to calculate the number of coupon days from the settlement date until the next coupon date. The number returned excludes the settlement date and includes the last day of the next coupon period.

  • COUPNCD

    financial_functions

    COUPNCD(Settlement, Maturity, Frequency)

    The COUPNCD function calculates the next coupon date after a settlement date.

  • COUPNUM

    financial_functions

    COUPNUM(Settlement, Maturity, Frequency)

    The COUPNUM function returns the number of coupons payable between a settlement and maturity date.

  • COUPPCD

    financial_functions

    COUPPCD(Settlement, Maturity, Frequency)

    The COUPPCD function calculates the previous coupon date before a settlement date.

  • CUMIPMT

    financial_functions

    CUMIPMT(Interest rate, Number of periods, Principal, Start period, End period [, Timing])

    The CUMIPMT function calculates the cumulative interest paid on a loan over a period given equal payments made to the balance.

  • CUMPRINC

    financial_functions

    CUMPRINC(Interest rate, Number of periods, Loan balance, Start period, End period [, Timing])

    The CUMPRINC function calculates the amount of principal paid on a loan over a period, given consistent, equal payments.

  • CUMULATE

    time_and_date_functions

    CUMULATE (Values to add [, Boolean] [, List])

    The function CUMULATE adds values and returns a number. By default, the values are added across a time period. You can also choose to add values across a list.

  • CURRENTPERIODEND

    time_and_date_functions

    CURRENTPERIODEND()

    The CURRENTPERIODEND function returns the end date from a model's current period.

  • CURRENTPERIODSTART

    time_and_date_functions

    CURRENTPERIODSTART()

    The CURRENTPERIODSTART function returns the start date from a model's current period.

  • CURRENTVERSION

    miscellaneous_functions

    CURRENTVERSION(Line item)

    The CURRENTVERSION function returns the value from another line item for the version that is set as Current in a model.

  • DATE

    time_and_date_functions

    DATE(Year, Month, Day)

    The DATE function forms a date from values that represent the year, month, and day. 

  • DAY

    time_and_date_functions

    DAY(Date)

    The DAY function returns the day from a date as a number between 1 and 31. If the day is blank, it returns 0.

  • DAYS

    time_and_date_functions

    DAYS([Period])

    The DAYS function returns the number of days in a given time period.

  • DAYSINMONTH

    time_and_date_functions

    DAYSINMONTH(Year, Month)

    The DAYSINMONTH function returns the number of days in a month you specify.

  • DAYSINYEAR

    time_and_date_functions

    DAYINYEAR(Year)

    The DAYSINYEAR function returns the number of days in a year you specify.

  • DECUMULATE

    time_and_date_functions

    DECUMULATE(Value to subtract)

    The DECUMULATE function calculates the difference between the values of the current and previous periods.

  • DIVIDE

    numeric_functions

    DIVIDE(Dividend, Divisor)

    Use DIVIDE to divide one number by another.

  • DURATION

    financial_functions

    DURATION(Settlement, Maturity, Rate, Yield, Frequency [, Basis])

    You can use the DURATION function to calculate the Macauley duration for an assumed parity value of 100 monetary units.

    The Macauley duration is the weighted average maturity of cash flows. That is, the weighted average distance to payment. It's used to measure a bond price's response to changes in yield. A higher Macauley duration value indicates a riskier investment.

  • END

    time_and_date_functions

    END([Time period]) 

    The END function returns the last date of a time period. 

  • ERLANGB

    call_center_planning_functions

    ERLANGB(Number of servers, Arrival rate, Average duration)

    The ERLANGB function determines the probability of a request being blocked given a specified number of servers, arrival rate of requests, and the average service duration.

  • ERLANGC

    call_center_planning_functions

    ERLANGC(Number of servers, Arrival rate, Average duration)

    The ERLANGC function determines the probability of a request being placed in a queue given a specified number of servers, arrival rate of requests, and the average duration to process requests.

  • EXP

    numeric_functions

    EXP(Number)

    The EXP function raises the mathematical constant e, or Euler's number, to the power you specify.

  • FIND

    text_functions

    FIND(Text to find, Text to search [, Starting character])

    The FIND function searches for the first occurrence of a text value within another one. If the text contains the specified characters, the function returns a number. This number indicates the position of the first occurrence of the text value searched for.

  • FINDITEM

    miscellaneous_functions

    FINDITEM(List_or_Time, Item_to_find)

    The FINDITEM function searches for a text value within the names and codes of the items or time periods in a given list or Time respectively. If the FINDITEM function finds a match, it returns the corresponding list item or time period.

  • FIRSTNONBLANK

    aggregation_functions

    Line item to search [FIRSTNONBLANK: Mapping, FIRSTNONBLANK: Mapping 2, etc.]

    The aggregation function FIRSTNONBLANK returns the first value of a line item found for a given list item or time period. 

  • FIRSTNONZERO

    numeric_functions

    FIRSTNONZERO(Value 1, Value 2, [etc.])

    The FIRSTNONZERO function searches through two or more numeric arguments and returns the first value that is not zero.

  • FV

    financial_functions

    FV(Interest rate, Number of periods, Payments [, Present value] [, Payment timing])

    The FV function calculates the future value of an investment. The future value is the lump sum or closing balance received at the end of an investment.

  • HALFYEARTODATE

    time_and_date_functions

    HALFYEARTODATE(Line item to cumulate)

    The HALFYEARTODATE function cumulates values from a single numeric parameter, over a half-year period. The HALFYEARTODATE cumulation starts at the Fiscal Year Start Month as selected in the Model Calendar, and resets every half-year.

  • HALFYEARVALUE

    time_and_date_functions

    HALFYEARVALUE(Line item)

    The HALFYEARVALUE function references another line item and returns the half-yearly time summary in place of the detail value.

  • IF THEN ELSE

    logical_functions

    IF Boolean argument THEN Result 1 ELSE Result 2

    Tests a Boolean argument and returns one of two results based on whether it is true or false.

  • INPERIOD

    time_and_date_functions

    INPERIOD(Date to test, Time period)

    The INPERIOD function returns a TRUE result for a date that falls under a time period or a module's Time dimension. It returns FALSE for all other dates.

  • IPMT

    financial_functions

    IPMT(Interest rate, Period to examine, Number of periods, Present value [, Future value] [, Payment timing])

    The IPMT function calculates the amount of interest to be paid on a loan in a given payment period. The function assumes a consistent interest rate and payment timings in each period.

  • IRR

    financial_functions

    The IRR function has two different syntaxes. The syntax that applies depends on whether you use more or less than two arguments with the function.

    IRR(Cash flow [, Estimate])

    IRR(Cash flow, Dates, Transactions [, Estimate])

    The IRR function calculates the internal rate of return for a series of positive and negative transactions. It can be used either with all transactions over a timescale, or with specified transactions on certain dates.

  • ISACTUALVERSION

    logical_functions

    ISACTUALVERSION()

    The ISACTUALVERSION function returns a TRUE result for the version that is set as Actual in a model. It returns FALSE for all other versions.

  • ISANCESTOR

    logical_functions

    ISANCESTOR(Ancestor, Descendant)

    The ISANCESTOR function takes two list or time period values. It returns a Boolean value of TRUE if the first is an ancestor of the second. Ancestors of an item are its parent, its parent's parent, and so on.

  • ISBLANK

    logical_functions

    ISBLANK(Value to test)

    The ISBLANK function returns true for values that are blank.

  • ISCURRENTVERSION

    logical_functions

    ISCURRENTVERSION()

    The ISCURRENTVERSION function returns a TRUE result for the version that is set as Current in a model. It returns FALSE for all other versions.

  • ISFIRSTOCCURRENCE

    logical_functions

    ISFIRSTOCCURRENCE(Values to compare, List dimension to search)

    The ISFIRSTOCCURRENCE function returns a Boolean value of TRUE for the first occurrence of a value in a list dimension.

  • ISNOTBLANK

    logical_functions

    ISNOTBLANK(Value to test)

    The ISNOTBLANK function returns a Boolean result for values that are not blank.

  • ITEM

    miscellaneous_functions

    ITEM(List_or_Time)

    When used with a list, the ITEM function returns the list item that applies to each cell. When used with Time, it returns the time period that applies to each cell.

  • LAG

    time_and_date_functions

    LAG(Value to offset, Offset amount, Substitute value [, Non-positive behavior])

    LAG returns a value from a period in the past. 

  • LASTNONBLANK

    aggregation_functions

    Line item to search[LASTNONBLANK: Mapping, LASTNONBLANK: Mapping 2, etc.]

    The aggregation function LASTNONBLANK returns the last value of a line item found for a given list item or time period. 

  • LEAD

    time_and_date_functions

    LEAD(Value to offset, Offset amount, Substitute value [, Non-positive behavior])

    LEAD returns a value from a period in the future. 

  • LEFT

    text_functions

    LEFT(Text [, Number of characters]) 

    Extracts a string of characters from text, starting from the left.

  • LENGTH

    text_functions

    LENGTH(Text to evaluate)

    The LENGTH (or LEN) function returns the number of characters in a text string.

  • LN

    numeric_functions

    LN(Number)

    Use the natural logarithm (LN) to work out the length of time it takes to achieve a unit of growth.

    LN returns the natural logarithm of a number, based on the constant e. This function is the inverse of the EXP function, which raises e to the nth power.

  • LOG

    numeric_functions

    LOG(Number, Base)

    The LOG function returns the logarithm of a number to the base you specify.

  • LOOKUP

    logical_functions

    Values to lookup[LOOKUP: Mapping, LOOKUP: Mapping 2]

    Use the LOOKUP function to look up values in a source module or list and display the values in a target module. 

  • LOWER

    text_functions

    LOWER(Text [, Locale])

    The LOWER function converts text values to lowercase.

  • MAILTO

    text_functions

    MAILTO(Display text, To [, CC] [, BCC] [, Subject] [, Body text])

    Use the MAILTO function to generate clickable links that send an email. You can specify recipients, subjects, and body text.

  • MAKELINK

    text_functions

    MAKELINK(Display text, URL)

    The MAKELINK function generates clickable links in a module.

  • MAX

    aggregation_functions

    Source[MAX: Mapping, MAX: Mapping 2, etc.]

    The MAX aggregation function returns the maximum value from a line item in a source module.

  • MAX

    numeric_functions

    MAX(Value to compare, Value to compare 2, [etc.])

    The MAX function returns the maximum from a set of values. For a number, it returns the maximum value. For a date, it returns the latest date.

  • MDURATION

    financial_functions

    MDURATION(Settlement, Maturity, Rate, Yield, frequency [, basis])

    You can use the MDURATION function to calculate the modified Macauley duration for an assumed parity value of 100 monetary units.

    The modified Macauley duration expresses the measurable change in the value of a bond in response to a change in interest rates. The result represents the effect that a 1% change in interest rates will have on the price of a bond.

  • MID

    text_functions

    MID(Text, Start position [, Number of characters])

    Extracts a number of characters from a text string, starting from a character you select.

  • MIN

    aggregation_functions

    Source[MIN: Mapping, MIN: Mapping 2, etc.]

    The MIN aggregation function returns the minimum value from a line item in a source module.

  • MIN

    numeric_functions

    MIN(Value to compare, Value to compare 2, [etc.])

    The MIN function returns the minimum from a set of values. For a number, it returns the minimum value. For a date, it returns the earliest date.

  • MOD

    numeric_functions

    MOD(Dividend, Divisor)

    The MOD function returns the remainder when one number is divided by another, or modulo.

  • MONTH

    time_and_date_functions

    MONTH(Value to convert, [Time period method]) 

    The function MONTH converts a date or time period to a month in number format.

  • MONTHTODATE

    time_and_date_functions

    MONTHTODATE(Line item to aggregate)

    MONTHTODATE cumulates values from a single numeric parameter, within a monthly time range.

  • MONTHVALUE

    time_and_date_functions

    MONTHVALUE(Line item)

    The MONTHVALUE function references another line item and returns the monthly time summary in place of the detail value.

  • MOVINGSUM

    time_and_date_functions

    MOVINGSUM(Line item to aggregate [, Start period] [, End period] [, Aggregation method])

    MOVINGSUM returns values over a changing time range. For each time range included, it aggregates the sum of values found.

  • MROUND

    numeric_functions

    MROUND(Number to round [, Multiple to round to] [, Rounding direction])

    The MROUND function rounds a value to the nearest multiple of a number.

  • NAME

    text_functions

    NAME(List item)

    Use the NAME function to convert data from a list item to text.

  • NEXT

    time_and_date_functions

    NEXT(Expression)

    The NEXT function evaluates an expression based on the next period in the Time dimension.

  • NEXTVERSION

    miscellaneous_functions

    NEXTVERSION(Expression)

    The NEXTVERSION function evaluates the given expression using the next version.

  • NPER

    financial_functions

    NPER(Interest rate, Payments, Present value [, Residual value] [, Timing])

    The NPER function calculates the required number of periods to achieve a certain value for a loan or investment. This is based on a given interest rate, consistent payments, and opening and closing balance.

  • NPV

    financial_functions

    NPV(Discount rate, Cash flow, Dates, Transactions)

    The NPV function calculates the net present value for a series of positive and negative transactions with a constant interest rate.

  • OFFSET

    time_and_date_functions

    OFFSET(Value to offset, Offset amount, Substitute value)

    OFFSET returns a value from a period before or after the current period. 

  • PARENT

    miscellaneous_functions

    PARENT(Child value)

    The PARENT function returns the parent item of list items and time periods.

  • PERIOD

    time_and_date_functions

    PERIOD(Date)

    The PERIOD function converts a date to a time period. 

  • PMT

    financial_functions

    PMT(Interest rate, Number of periods, Present value [, Future value] [, Timing])

    The PMT function calculates the payments due for a loan or annuity over a specified number of periods, given a consistent interest rate and payment amount.

  • POST

    time_and_date_functions

    POST(Value to post, Offset amount) 

    The POST function offsets, or posts, a numeric value into the past or the future by a given number of periods. If multiple values are offset to the same period, the POST function adds them together.

  • POWER

    numeric_functions

    POWER(Number, Power)

    The POWER function raises a number to the power you specify.

  • PPMT

    financial_functions

    PPMT(Interest rate, Period to examine, Number of periods, Present value [, Future value] [, Timing])

    The PPMT function calculates how much of a payment is allocated to its principal part rather than interest. The function assumes a consistent interest rate and payment timings in each period.

  • PREVIOUS

    time_and_date_functions

    PREVIOUS(Expression)

    The PREVIOUS function evaluates an expression based on the previous period of the Time dimension.

  • PREVIOUSVERSION

    miscellaneous_functions

    PREVIOUSVERSION(Expression)

    The PREVIOUSVERSION function evaluates the given expression using the previous version.

  • PRICE

    financial_functions

    PRICE(Settlement, Maturity, Rate, Yield, Redemption, Frequency[, Basis])

    The PRICE function calculates the price per 100 monetary units invested for a bond that pays periodic interest.

  • PROFILE

    time_and_date_functions

    PROFILE(Number to change, Profile)

    Use the PROFILE function to multiply values over time based on a series of numbers, or profile.

  • PV

    financial_functions

    PV(Interest rate, Number of periods, Payments, Future value, Payment timing)

    The PV function calculates the present value of an investment or the principal value of a loan.

  • QUARTERTODATE

    time_and_date_functions

    QUARTERTODATE(Line item to aggregate)

    QUARTERTODATE accumulates values from a single numeric parameter, within a quarterly time range.

  • QUARTERVALUE

    time_and_date_functions

    QUARTERVALUE(Line item)

    The QUARTERVALUE function references another line item and returns the quarterly time summary in place of the detail value.

  • RANK

    miscellaneous_functions

    RANK(Source values [, Direction] [, Equal value behavior] [, Include value] [, Ranking groups])

    The RANK function evaluates a set of values and assigns sequential rankings starting at 1.

  • RANKCUMULATE

    miscellaneous_functions

    RANKCUMULATE(Cumulation values, Ranking values [, Direction] [, Include value] [, Ranking groups])

    The RANKCUMULATE function ranks values and then cumulates values in order of the ranking. It can perform ranking separately across different groups.

  • RATE

    financial_functions

    RATE(Number of periods, Payments, Present value[, Future value] [, Payment timing] [ ,Rate estimate])

    The RATE function calculates the interest rate for a loan or investment based on length, payments, and present and future value.

  • RIGHT

    text_functions

    RIGHT(Text [, Number of characters])

    Extracts a string of characters from text, starting from the right. 

  • ROUND

    numeric_functions

    ROUND(Number to round [, Number of decimal places] [, Rounding direction] [, Rounding method])

    The ROUND function rounds a value to a specified number of decimal places, an integer, or a power of 10.

  • SELECT

    logical_functions

    Source[SELECT: Target item]

    Use the SELECT function to return values from a given list item or time period.

  • SIGN

    numeric_functions

    SIGN(Number)

    The SIGN function returns the sign of a number (whether it's positive, negative, or zero). The SIGN function returns 1 for positive numbers, 0 for zero, and -1 for negative numbers.

  • SLA

    call_center_planning_functions

    SLA(Number of servers, Target response time, Arrival rate, Average duration)

    The SLA function calculates what percentage of calls must be answered within a target answer time, or service level agreement (SLA).

  • SPREAD

    time_and_date_functions

    SPREAD(Value to divide, Number of time periods)

    The SPREAD function divides a value evenly over a number of time periods. 

  • SQRT

    numeric_functions

    SQRT(Number)

    The SQRT function calculates the square root of a number.

  • START

    time_and_date_functions

    START(Time period)

    The START function returns the first date of a time period. 

  • SUBSTITUTE

    text_functions

    SUBSTITUTE(Text to search in, Text to find, Replacement text)

    The SUBSTITUTE function finds all occurrences of a text value within another one, and replaces them with a given value.

  • SUM

    aggregation_functions

    Values to sum[SUM: Mapping, SUM: Mapping 2, etc.]

    The SUM aggregation function sums values in a result module based on mapping from a source module.

  • TEXT

    text_functions

    TEXT(Number to convert)

    The TEXT function converts numeric values to text.

  • TEXTLIST

    aggregation_functions

    Values to list[TEXTLIST: Mapping, TEXTLIST: Mapping 2, etc.]

    The TEXTLIST aggregation function returns a collection of text values as a comma-separated value. The values returned are based on mapping from a source module.

  • TEXTLIST

    text_functions

    TEXTLIST(Text to concatenate, Separator, List to reference [, Duplicate behavior])

    The TEXTLIST function concatenates a series of text values into a single text value.

  • TIMESUM

    time_and_date_functions

    TIMESUM(Line item to aggregate [, Start period] [, End period] [, Aggregation method])

    The TIMESUM function aggregates values between two time periods and returns a single value.

  • TRIM

    text_functions

    TRIM(Text)

    The TRIM function removes all leading and trailing spaces, and extra spaces between words in a text string.

  • UPPER

    text_functions

    UPPER(Text [, Locale])

    The UPPER function converts text values to uppercase.

  • VALUE

    miscellaneous_functions

    VALUE(Value to convert)

    The VALUE function converts text values that represent numbers to numbers.

  • WEEKDAY

    time_and_date_functions

    WEEKDAY(Date [, First day of the week])

    The WEEKDAY function converts a date to a number between one and seven, representing the day of the week.

  • WEEKTODATE

    time_and_date_functions

    WEEKTODATE(Line item to aggregate)

    WEEKTODATE aggregates the daily values within a week from a single numeric parameter. WEEKTODATE resets after the last day of the week.

  • WEEKVALUE

    time_and_date_functions

    WEEKVALUE(Line item)

    The WEEKVALUE function references another line item and returns the weekly time summary in place of the detail value.

  • YEAR

    time_and_date_functions

    YEAR(Value to convert, [Time period method]) 

    The function YEAR converts a date or time period to a year in number format. 

  • YEARFRAC

    financial_functions

    YEARFRAC(Start, End[, Basis])

    Use the YEARFRAC function to calculate the fraction of a year between two dates (inclusive of the start date, exclusive of the end date).

    The function uses a basis (day-count convention) to count the number of days between these dates, and then divide that number by the basis.

  • YEARTODATE

    time_and_date_functions

    YEARTODATE(Line item)

    YEARTODATE cumulates values from a single numeric parameter, within a yearly time range. YEARTODATE resets at each yearly start date, based on Calendar Type.

  • YEARVALUE

    time_and_date_functions

    YEARVALUE(Line item)

    The YEARVALUE function references another line item and returns the yearly time summary in place of the detail value.

  • YIELD

    financial_functions

    YIELD(Settlement, Maturity, Rate, Price, Redemption, Frequency [, Basis])

    Use this function to calculate the yield to maturity (YTM) of a bond.