活动
DDB
使用双倍余额递减法或指定的其他方法返回指定期间资产的折旧值。
DDB(<cost>, <salvage>, <life>, <period>[, <factor>])
术语 | 定义 |
---|---|
cost |
资产的初始成本。 |
salvage |
折旧结束时的值(有时称为资产的打捞值)。 此值可以为 0。 |
life |
资产被贬值的时间段数(有时称为资产的有用寿命)。 |
period |
要计算折旧值的时间段。 句点必须使用与生命相同的单位。 必须介于 1 和生命之间(含)。 |
factor |
(可选)余额下降的速率。 如果省略因子,则假定为 2(双下降余额方法)。 |
指定时间段内折旧值。
双下降余额方法以加速率计算折旧。 折旧在第一个周期中最高,连续周期减少。 DDB 使用以下公式计算一段时间内的折旧值:
如果不想使用双下降余额方法,请更改因子。
如果要在折旧大于余额递减计算时切换到直线折旧方法,请使用 VDB 函数。
句点舍入为最接近的整数。
如果出现以下错误,则返回错误:
- 成本 < 0。
- 打捞 < 0。
- 生活 < 1.
- 句点 < 1 或 > 生命期。
- 因子≤ 0。
在计算列或行级别安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
以下 DAX 查询:
EVALUATE
{
DDB(1000000, 0, 10, 5, 1.5)
}
返回资产在 5
[值] |
---|
78300.9375 |
下面计算其生存期内所有资产的总折旧值。 此计算使用默认因子 2(双下降余额方法)。
DEFINE
VAR NumDepreciationPeriods = MAX(Asset[LifeTimeYears])
VAR DepreciationPeriods = GENERATESERIES(1, NumDepreciationPeriods)
EVALUATE
ADDCOLUMNS (
DepreciationPeriods,
"Current Period Total Depreciation",
SUMX (
FILTER (
Asset,
[Value] <= [LifetimeYears]
),
DDB([InitialCost], [SalvageValue], [LifetimeYears], [Value])
)
)