COUPNCD DAX Function (Financial)

Returns the next coupon date after the settlement date.

Syntax

COUPNCD ( <Settlement>, <Maturity>, <Frequency> [, <Basis>] )
Parameter Attributes Description
Settlement

The security’s settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.

Maturity

The security’s maturity date. The maturity date is the date when the security expires.

Frequency

The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.

Basis Optional

The type of day count basis to use.

Return values

Scalar A single datetime value.

Remarks

Basis sets the day-count method. Use 0 or omit the value for US (NASD) 30/360. Use 1 for actual/actual. Use 2 for actual/360. Use 3 for actual/365. Use 4 for European 30/360.

Settlement and Maturity are truncated to integers, so the time part of a date is ignored. Frequency and Basis are rounded to the nearest integer.

COUPNCD returns an error in these conditions:
– Settlement or Maturity is not a valid date.
– Settlement is equal to or later than Maturity.
– Frequency is not 1, 2, or 4.
– Basis is less than 0 or greater than 4.

A BLANK Settlement does not return an error: it is treated as 30-Dec-1899 (the zero date), so the result is computed from that date.

The coupon dates come from Maturity, going back by 12 / Frequency months. If Maturity is the last day of a month, all coupon dates are the last day of their month (for example, 28-Feb-2011 for Maturity 31-Aug-2011).

The result does not depend on Basis. If Settlement is a coupon date, COUPNCD returns the next coupon date, not Settlement.

Examples

-- COUPPCD, COUPNCD, and COUPNUM for a bond with these terms:
--   Settlement 25-Jan-2011, Maturity 15-Nov-2011
--   Basis 1 (actual/actual)
-- Coupon dates move back from Maturity by 12 / Frequency months
EVALUATE
VAR Settlement = DATE ( 2011, 1, 25 )
VAR Maturity = DATE ( 2011, 11, 15 )
VAR Basis = 1
RETURN
    ADDCOLUMNS (
        {
            ( 1, "Annual" ),
            ( 2, "Semiannual" ),
            ( 4, "Quarterly" )
        },
        "COUPPCD", COUPPCD ( Settlement, Maturity, [Value1], Basis ),
        "COUPNCD", COUPNCD ( Settlement, Maturity, [Value1], Basis ),
        "COUPNUM", COUPNUM ( Settlement, Maturity, [Value1], Basis )
    )
Value1 Value2 COUPPCD COUPNCD COUPNUM
1 Annual 2010-11-15 2011-11-15 1
2 Semiannual 2010-11-15 2011-05-15 2
4 Quarterly 2010-11-15 2011-02-15 4

Last update: Nov 9, 2026   » Contribute   » Show contributors

Contributors: Alberto Ferrari, Marco Russo

Microsoft documentation: https://learn.microsoft.com/en-us/dax/coupncd-function-dax

2018-2026 © SQLBI. All rights are reserved. Information coming from Microsoft documentation is property of Microsoft Corp. » Contact us   » Privacy Policy & Cookies

Context Transition

This function performs a Context Transition if called in a Row Context. Click to read more.

Row Context

This expression is executed in a Row Context. Click to read more.

Passed by Expression

This parameter is passed by expression and can be evaluated multiple times in different evaluation contexts.

Iterator

Not recommended

The use of this function is not recommended. See Remarks and Related functions for alternatives.

Not recommended

The use of this parameter is not recommended.

Deprecated

This function is deprecated. Jump to the Alternatives section to see the function to use.

Volatile

A volatile function may return a different result every time you call it, even if you provide the same arguments. Click to read more.

Deprecated

This parameter is deprecated and its use is not recommended.

DirectQuery compatibility

Limitations are placed on DAX expressions allowed in measures and calculated columns.
The state below shows the DirectQuery compatibility of the DAX function.

Contribute

Want to improve the content of COUPNCD? Did you find any issue?
Please, report it us! All submissions will be evaluated for possible updates of the content.