共用方式為


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])
  )
)