แชร์ผ่าน


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