共用方式為


DB

適用於:計算結果列匯出數據表量值視覺計算

使用固定餘額遞減的方法,傳回指定週期的資產折舊。

語法

DB(<cost>, <salvage>, <life>, <period>[, <month>])

參數

詞彙 定義
成本 資產的初始成本。
salvage 折舊最後的價值 (有時稱為資產的殘餘價值)。 此值可為 0。
生活 資產折舊的期數 (有時稱為資產的使用年限)。
Period 要計算折舊的週期。 週期必須與 life 使用相同的單位。 必須介於 1 和 life (含) 之間。
個月 (選擇性) 第一年的月數。 如果省略 month,則會假設為 12。

傳回值

指定週期內的折舊。

備註

  • 固定餘額方法會以固定利率計算折舊。 DB 會使用下列公式來計算某個週期的折舊:

    $$(\text{cost} - \text{前幾期的折舊總計}) \times \text{利息}$$

    其中:

    • $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{,四捨五入成三個小數位數}$
  • 第一期和最後一期的折舊是特殊案例。

    • 在第一個週期,DB 會使用下列公式:

      $$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$

    • 在最後一個週期,DB 會使用下列公式:

      $$\frac{(\text{cost} - \text{前幾期的折舊總計}) \times \text{利息} \times (12 - \text{月})}{12}$$

  • period 和 month 會四捨五入為最接近的整數。

  • 如果是下列情況,則會傳回錯誤:

    • cost < 0。
    • salvage < 0。
    • life < 1。
    • period < 1 或 period > life。
    • month < 1 或 month > 12。
  • 在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

範例

範例 1

下列 DAX 查詢:

EVALUATE
{
  DB(1000000, 0, 6, 1, 2)
}

傳回第一年最後兩個月的資產折舊,假設在 6 年後其價值為 \$0。

[值]
166666.666666667

範例 2

以下會計算所有資產在其存留期內不同年份的折舊總計。 在這裡,第一年只包含 7 個月的折舊,而最後一年只包含 5 個月。

DEFINE
VAR NumDepreciationPeriods = MAX(Asset[LifeTimeYears])+1
VAR DepreciationPeriods = GENERATESERIES(1, NumDepreciationPeriods)
EVALUATE
ADDCOLUMNS (
  DepreciationPeriods,
  "Current Period Total Depreciation",
  SUMX (
    FILTER (
      Asset,
      [Value] <= [LifetimeYears]+1
    ),
    DB([InitialCost], [SalvageValue], [LifetimeYears], [Value], 7)
  )
)