DB
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณ
หน่วยวัด
การคํานวณวิชวล
ส่งกลับค่าเสื่อมราคาของสินทรัพย์สําหรับรอบระยะเวลาที่ระบุโดยใช้วิธีการคิดค่าเสื่อมราคาแบบลดลงคงที่
วากยสัมพันธ์
DB(<cost>, <salvage>, <life>, <period>[, <month>])
พารามิเตอร์
เทอม | นิยาม |
---|---|
cost |
ค่าใช้จ่ายเริ่มต้นของสินทรัพย์ |
salvage |
มูลค่าในตอนท้ายของค่าเสื่อมราคา (บางครั้งเรียกว่ามูลค่าซากของสินทรัพย์) ค่านี้สามารถเป็น 0 ได้ |
life |
จํานวนของรอบระยะเวลาที่มีการคิดค่าเสื่อมราคาสินทรัพย์ (บางครั้งเรียกว่าอายุการใช้งานของสินทรัพย์) |
period |
รอบระยะเวลาที่คุณต้องการคํานวณค่าเสื่อมราคา รอบระยะเวลาต้องใช้หน่วยเดียวกับอายุการใช้งาน ต้องอยู่ระหว่าง 1 ถึงอายุการใช้งาน (รวม) |
month |
(ไม่บังคับ) จํานวนเดือนในปีแรก ถ้ามีการเว้นเดือนไว้ ระบบจะสันนิษฐานว่าเป็น 12 |
ค่าผลลัพธ์
ค่าเสื่อมราคาในช่วงเวลาที่ระบุ
หมาย เหตุ
วิธีการคิดค่าเสื่อมราคาแบบลดส่วนคงที่คํานวณค่าเสื่อมราคาในอัตราคงที่ DB ใช้สูตรต่อไปนี้ในการคํานวณค่าเสื่อมราคาสําหรับรอบระยะเวลา:
$$(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate}$$
ที่ไหน:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, rounded to three decimal places}$
ค่าเสื่อมราคาสําหรับรอบระยะเวลางวดแรกและงวดสุดท้ายเป็นกรณีพิเศษ
สําหรับรอบระยะเวลาแรก DB ใช้สูตรนี้:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
DB ใช้สูตรนี้สําหรับรอบระยะเวลางวดสุดท้าย:
$$\frac{(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate} \times (12 - \text{month})}{12}$$
รอบระยะเวลาและเดือนถูกปัดเศษเป็นจํานวนเต็มที่ใกล้ที่สุด
ข้อผิดพลาดจะถูกส่งกลับ ถ้าหากว่า:
- ราคา < 0
- < ซาก 0
- อายุการใช้งาน < 1
- รอบระยะเวลา < อายุ > 1 หรือรอบระยะเวลา
- เดือน < 1 หรือ เดือน > 12
ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)
ตัว อย่าง เช่น
ตัวอย่างที่ 1
คิวรี DAX ต่อไปนี้:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
ส่งกลับค่าเสื่อมราคาของสินทรัพย์ในสองเดือนที่ผ่านมาของปีแรกโดยสมมติว่าจะมีมูลค่า \$0 หลังจาก 6 ปี
[ค่า] |
---|
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)
)
)