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