VDB
Applies to: Calculated column Calculated table Measure Visual calculation
Returns the depreciation of an asset for any period you specify, including partial periods, using the double-declining balance method or some other method you specify. VDB stands for variable declining balance.
Syntax
VDB(<cost>, <salvage>, <life>, <start_period>, <end_period>[, <factor>[, <no_switch>]])
Parameters
Term | Definition |
---|---|
cost | The initial cost of the asset. |
salvage | The value at the end of the depreciation (sometimes called the salvage value of the asset). This value can be 0. |
life | The number of periods over which the asset is being depreciated (sometimes called the useful life of the asset). |
start_period | The starting period for which you want to calculate the depreciation. Start_period must use the same units as life. Must be between 1 and life (inclusive). |
end_period | The ending period for which you want to calculate the depreciation. End_period must use the same units as life. Must be between start_period and life (inclusive). |
factor | (Optional) The rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method). Change factor if you do not want to use the double-declining balance method. For a description of the double-declining balance method, see DDB. |
no_switch | (Optional) A logical value specifying whether to switch to straight-line depreciation when depreciation is greater than the declining balance calculation. If omitted, it is assumed to be FALSE. - If no_switch evaluates to TRUE, VDB does not switch to straight-line depreciation, even when the depreciation is greater than the declining balance calculation. - If no_switch evaluates to FALSE or is omitted, VDB switches to straight-line depreciation when depreciation is greater than the declining balance calculation. |
Return Value
The depreciation over the specified period.
Remarks
An error is returned if:
- cost < 0.
- salvage < 0.
- life < 1.
- start_period < 1 or start_period > end_period.
- end_period < start_period or end_period > life.
- factor < 0.
- no_switch does not evaluate to either TRUE or FALSE.
This function is not supported for use in DirectQuery mode when used in calculated columns or row-level security (RLS) rules.
Examples
Data | Description |
---|---|
2400 | Initial cost |
300 | Salvage value |
10 | Lifetime in years |
Example 1
The following DAX query:
EVALUATE
{
VDB(2400, 300, 10*365, 0, 1)
}
Returns an asset's first day's depreciation using a factor of 2.
[Value] |
---|
1.31506849315068 |
Example 2
The following DAX query:
EVALUATE
{
VDB(2400, 300, 10*12, 6, 18, 3)
}
Returns an asset's depreciation between the 6$^{th}$ month and the 18$^{th}$ month. This calculation uses a factor of 3.
[Value] |
---|
540.185558199698 |
Example 3
The following DAX query:
EVALUATE
{
VDB(2400, 300, 10, 0, 0.875, 1.5)
}
Returns an asset's depreciation in the first fiscal year that you own it, assuming that tax laws limit you to 150% depreciation of the declining balance. The asset is purchased in the middle of the first quarter of the fiscal year.
[Value] |
---|
315 |