DB
Berlaku untuk: kolom terhitungTabel terhitung
Ukur
Perhitungan visual
Mengembalikan depresiasi aset untuk periode tertentu menggunakan metode saldo tetap-menurun.
Sintaksis
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parameter
Istilah | Definisi |
---|---|
cost |
Biaya awal aset. |
salvage |
Nilai di akhir penyusutan (kadang-kadang disebut nilai keselamatan aset). Nilai ini bisa 0. |
life |
Jumlah periode di mana aset sedang didepresiasi (kadang-kadang disebut kehidupan aset yang berguna). |
period |
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. |
Mengembalikan Nilai
Depresiasi selama periode yang ditentukan.
Komentar
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}$$
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 depresiation from prior periods}) \times \text{rate} \times (12 - \text{month})}{12}$$
periode dan bulan dibulatkan ke bilangan bulat terdekat.
Kesalahan dikembalikan jika:
- biaya < 0.
- penyelamatan < 0.
- hidup < 1.
- periode < 1 atau periode > masa pakai.
- 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 ini:
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)
)
)