Bagikan melalui


DB

Berlaku untuk: Kolom terhitung Tabel terhitung Ukur perhitungan Visual

Mengembalikan depresiasi aset untuk periode tertentu menggunakan metode saldo tetap-menurun.

Sintaks

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

Parameter

Term Definisi
cost Biaya awal aset.
Menyelamatkan Nilai di akhir penyusutan (kadang-kadang disebut nilai keselamatan aset). Nilai ini bisa 0.
hidup Jumlah periode di mana aset sedang didepresiasi (kadang-kadang disebut kehidupan aset yang berguna).
periode Periode yang ingin Anda hitung depresiasinya. Periode harus menggunakan unit yang sama dengan masa pakai. Harus antara 1 dan kehidupan (inklusif).
month (Opsional) Jumlah bulan pada tahun pertama. Jika bulan dihilangkan, diasumsikan 12.

Tampilkan Nilai

Depresiasi selama periode yang ditentukan.

Keterangan

  • Metode saldo tetap menurun menghitung depresiasi pada tingkat tetap. DB menggunakan rumus berikut untuk menghitung depresiasi untuk titik:

    $$(\text{cost} - \text{total depresiasi dari periode sebelumnya}) \times \text{rate}$$

    di mana:

    • $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, dibulatkan ke tiga tempat desimal}$
  • Depresiasi untuk periode pertama dan terakhir adalah kasus khusus.

    • Untuk periode pertama, DB menggunakan rumus ini:

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

    • Untuk periode terakhir, DB menggunakan rumus ini:

      $$\frac{(\text{cost} - \text{total depresiasi dari periode sebelumnya}) \times \text{rate} \times (12 - \text{month})}{12}$$

  • periode dan bulan dibulatkan ke bilangan bulat terdekat.

  • Kesalahan ditampilkan jika:

    • biaya < 0.
    • penyelamatan < 0.
    • kehidupan < 1.
    • periode < 1 atau masa pakai periode > .
    • bulan < 1 atau bulan > 12.
  • Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).

Contoh

Contoh 1

Kueri DAX berikut:

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

Mengembalikan depresiasi aset dalam dua bulan terakhir tahun pertama, dengan asumsi nilainya \$0 setelah 6 tahun.

[Nilai]
166666.666666667

Contoh 2

Berikut ini menghitung total depresiasi semua aset dalam tahun yang berbeda selama masa pakainya. Di sini, tahun pertama hanya mencakup depresiasi 7 bulan, dan tahun terakhir hanya mencakup 5 bulan.

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