Condividi tramite


DB

Si applica a:colonna calcolatatabella calcolataMeasurecalcolo visivo

Restituisce l'ammortamento di un cespite per un periodo specificato utilizzando il metodo di saldo fixedin diminuzione.

Sintassi

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

Parametri

Termine Definizione
cost Costo iniziale dell'asset.
salvage Il value alla fine dell'ammortamento (talvolta chiamato recupero value del bene). Questo value può essere 0.
life Numero di periodi in cui viene deprecato l'asset (talvolta chiamato vita utile dell'asset).
period Periodo per il quale si desidera calculate l'ammortamento. Il periodo deve utilizzare le stesse unità di vita. Deve essere compreso tra 1 and vita (inclusiva).
month (Facoltativo) Numero di mesi nel firstyear. If month viene omesso, si presuppone che sia 12.

Restituisce Value

Ammortamento nel periodo specificato.

Osservazioni

  • Il metodo fixed-declining balance calcola l'ammortamento in un fixedrate. DB utilizza le formule seguenti per calculate ammortamento per un periodo:

    $$(\text{cost} - \text{ammortamento totale dei periodi precedenti}) \times \text{rate}$$

    dove:

    • $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, arrotondato a tre posizioni decimali}$
  • L'ammortamento per i periodi di firstandlast è un caso speciale.

    • Per il periodo di first, DB usa questa formula:

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

    • Per il periodo di last, DB usa questa formula:

      $$\frac{(\text{cost} - \text{ammortamento totale dai periodi precedenti}) \times \text{rate} \times (12 - \text{month})}{12}$$

  • il periodo andmonth viene arrotondato all'intero più vicino.

  • Viene restituito un errorif:

    • costo < 0.
    • salvare < 0.
    • vita < 1.
    • periodo < 1 or periodo > vita.
    • month < 1 ormonth> 12.
  • Questa funzione è not supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate or regole di sicurezza a livello di riga.

Esempi

Esempio 1

La query di DAX seguente:

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

Restituisce l'ammortamento di un cespite nell'last due mesi del firstyear, presupponendo che valga il valore di \$0 dopo 6 anni.

[Value]
166666.666666667

Esempio 2

Di seguito viene calcolato l'ammortamento totale delle attività all in anni diversi nel corso della loro vita. In questo caso, il firstyear include solo 7 mesi di ammortamento, and il lastyear include solo 5 mesi.

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