Dax Function: PDURATION
Category: Financial Functions
The PDURATION function in Power BI calculates the number of periods required for an investment to reach a specific value, based on a constant interest rate. It is particularly useful for financial modeling and investment analysis.
Purpose
To determine how long it will take for an investment to grow to a target value.
Simplifies the calculation of periods needed for growth under compound interest.
Type of Calculations
Performs logarithmic calculations to solve for the time required to achieve a specified future value.
Assumes constant compounding and a fixed interest rate.
Practical Use Cases
Investment Planning: Determine the duration required to achieve a specific savings goal.
Loan Analysis: Estimate how long it takes for loan payments to achieve a particular financial balance.
Financial Projections: Use in scenarios where growth to a target value is modeled.
PDURATION(rate, present_value, future_value)
| Parameter | Type | Description |
|---|---|---|
rate | Scalar | The constant interest rate per period, expressed as a decimal (e.g., 5% = 0.05). |
present_value | Scalar | The current value of the investment. Must be a positive number. |
future_value | Scalar | The target value the investment should grow to. Must be greater than the present value. |
How Does PDURATION Dax
Mathematical Principle
The PDURATION function is based on the formula for compound interest:
![]()
Where:
FV: Future Value
PV: Present Value
r: Interest Rate
t: Time in periods
To solve for t:

What Does It Return?
Scalar Value: Returns the number of periods as a numeric value.
The result is expressed in the same units as the rate’s period (e.g., years, months).
When Should We Use It?
Goal-Based Investing: Plan how long investments take to grow to a desired amount.
Budget Forecasting: Assess timelines for achieving specific financial milestones.
Savings Plans: Evaluate timelines for retirement or education funds.
Examples
Basic Usage :
Calculate the time required for an investment to grow from $10,000 to $20,000 at a 5% annual interest rate.
PDURATION(0.05, 10000, 20000)
Result: 14.21 (Approximately 14.21 years).
Column Usage
Determine growth durations for multiple investments in a table:
| InvestmentID | Rate | PresentValue | FutureValue |
|---|---|---|---|
| 1 | 0.05 | 10000 | 20000 |
| 2 | 0.03 | 15000 | 30000 |
| 3 | 0.07 | 20000 | 40000 |
Add a calculated column:
GrowthDuration = PDURATION(Investments[Rate], Investments[PresentValue], Investments[FutureValue])
Advanced Usage
Combine PDURATION with conditional logic to analyze scenarios with varying interest rates:
DurationWithRateAdjustment =
IF(
Investments[Rate] > 0.05,
PDURATION(Investments[Rate] - 0.01, Investments[PresentValue], Investments[FutureValue]),
PDURATION(Investments[Rate], Investments[PresentValue], Investments[FutureValue])
)
Adjusts the interest rate downward by 1% for rates above 5%.
Tips and Tricks
Ensure the
future_valueis greater than thepresent_valueto avoid errors.Use consistent units for the
rateperiod and expected duration (e.g., annual rates for yearly periods).Zero or Negative Rates: Interest rates must be positive.
Invalid Values: Ensure
present_valueandfuture_valueare valid numbers, with the future value exceeding the present value.
Performance Impact of PDURATION DAX Function:
Efficient for scalar calculations and small datasets.
For large datasets, precompute static values like rates to optimize performance.
Related Functions You Might Need
| Function | Description |
|---|---|
FV | Calculates the future value of an investment based on periodic, constant payments and interest. |
PV | Computes the present value of an investment. |
RATE | Determines the interest rate per period of an investment. |
NPER | Calculates the number of periods for a loan or investment based on periodic payments. |
Want to Learn More?
For more information, check out the official Microsoft documentation for PDURATION You can also experiment with this function in your Power BI reports to explore its capabilities.
Unlock the full capabilities of Power BI and elevate your data insights with our specialized consulting services. Whether you need guidance on advanced DAX functions like those highlighted here, support in designing interactive dashboards, or expertise in optimizing data models for enhanced performance, our experienced Power BI consultants are equipped to deliver customized solutions for your business. Explore our Power BI Consulting Services page to discover how we can help your organization make smarter, data-driven decisions.
It calculates the number of periods required for an investment to grow from its present value to a specified future value.
Yes, as long as the interest rate and the resulting period are in the same unit (e.g., monthly).
The function returns an error since division by zero is not valid in the formula.
No, both values must be positive, with the future value greater than the present value.
No, the function returns a precise decimal value. You can round it using the ROUND function if needed.