DDB
使用雙倍餘額遞減方法或您指定的其他方法,傳回指定週期的資產折舊。
語法
DDB(<cost>, <salvage>, <life>, <period>[, <factor>])
參數
詞彙 | 定義 |
---|---|
成本 | 資產的初始成本。 |
salvage | 折舊最後的價值 (有時稱為資產的殘餘價值)。 此值可為 0。 |
生活 | 資產折舊的期數 (有時稱為資產的使用年限)。 |
Period | 要計算折舊的週期。 週期必須與 life 使用相同的單位。 必須介於 1 和 life (含) 之間。 |
factor | (選擇性) 餘額遞減速率。 如果省略 factor,則假設其值為 2 (雙倍餘額遞減法)。 |
傳回值
指定週期內的折舊。
備註
雙重遞減餘額方法會以加速利率計算折舊。 第一個週期的折舊會最高,並在後續的週期內減少。 DDB 會使用下列公式來計算某個週期的折舊:
$$\text{Min}((\text{cost} - \text{前幾期的折舊總計}) \times (\frac{\text{factor}}{\text{life}}),(\text{cost} - \text{salvage} - \text{前幾期的折舊總計}))$$
如果您不想使用雙倍餘額遞減法,請變更 factor。
如果您想要在折舊大於遞減餘額計算時切換到直線折舊法,請使用 VDB 函式。
period 會四捨五入為最接近的整數。
如果是下列情況,則會傳回錯誤:
- cost < 0。
- salvage < 0。
- life < 1。
- period < 1 或 period > life。
- factor ≤ 0。
在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
範例
範例 1
下列 DAX 查詢:
EVALUATE
{
DDB(1000000, 0, 10, 5, 1.5)
}
傳回第 5$^{th}$ 年的資產折舊,假設在 10 年後其價值為 \$0。 這項計算使用 1.5 作為 factor。
[值] |
---|
78300.9375 |
範例 2
以下會計算所有資產在其存留期內不同年份的折舊總計。 這項計算會使用預設 factor 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])
)
)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應