DDB
使用雙減餘額方法或您指定的其他方法,傳回資產在指定期間內的折舊。
語法
DDB(<cost>, <salvage>, <life>, <period>[, <factor>])
參數
術語 | 定義 |
---|---|
cost |
資產的初始成本。 |
salvage |
折舊結束時的值(有時稱為資產的打撈值)。 此值可以是 0。 |
life |
資產被取代的期間數(有時稱為資產的有用壽命)。 |
period |
您想要計算折舊的期間。 期間必須使用與生命相同的單位。 必須介於 1 到生命之間(包容性)。 |
factor |
(選擇性)餘額下降的比率。 如果省略因數,則會假設為 2(雙下降餘額方法)。 |
傳回值
指定期間內的折舊。
言論
雙下降餘額方法會以加速率計算折舊。 折舊在第一個週期中最高,連續周期減少。 DDB 使用下列公式來計算期間折舊:
$$\text{Min}(\text{cost} - \text{total depreciation from prior periods}) \times (\frac{\text{factor}}{\text{life}}),(\text{cost} - \text{salvage} - \text{total depreciation from priors}}))$$
如果您不想使用雙遞減餘額方法,請變更因數。
如果您想要在折舊大於遞減餘額計算時切換到直線折舊方法,請使用 VDB 函數。
句點會四捨五入為最接近的整數。
如果:
- 成本 < 0。
- 打撈 < 0。
- 生活 < 1.
- 期間 < 1 或週期 > 生命。
- 因數 ≤ 0。
在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
例子
範例 1
下列 DAX 查詢:
EVALUATE
{
DDB(1000000, 0, 10, 5, 1.5)
}
傳回資產在 5$^{th}$ 年中的折舊,假設在 10 年後價值為 \$0。 此計算會使用 1.5 的因數。
[值] |
---|
78300.9375 |
範例 2
下列計算存留期內所有資產的總折舊。 此計算會使用預設值 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])
)
)