Condividi tramite


DB

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

Restituisce l'ammortamento di un cespite per un periodo specificato utilizzando il metodo di saldo a riduzione fissa.

Sintassi

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

Parametri

Termine Definizione
cost Costo iniziale dell'asset.
salvage Valore alla fine dell'ammortamento (talvolta chiamato valore di salvataggio del bene). Questo valore 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 calcolare l'ammortamento. Il periodo deve utilizzare le stesse unità di vita. Deve essere compreso tra 1 e vita (inclusivo).
month (Facoltativo) Numero di mesi nel primo anno. Se il mese viene omesso, si presuppone che sia 12.

Valore restituito

Ammortamento nel periodo specificato.

Osservazioni

  • Il metodo di saldo a riduzione fissa calcola l'ammortamento a un tasso fisso. DB utilizza le formule seguenti per calcolare l'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 il primo e l'ultimo periodo è un caso speciale.

    • Per il primo periodo, DB usa questa formula:

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

    • Per l'ultimo periodo, DB usa questa formula:

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

  • periodo e mese vengono arrotondati all'intero più vicino.

  • Se viene restituito un errore:

    • costo < 0.
    • salvare < 0.
    • vita < 1.
    • periodo < 1 o periodo > vita.
    • mese < 1 o mese > 12.
  • Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle 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 negli ultimi due mesi del primo anno, presupponendo che valga il valore di \$0 dopo 6 anni.

[Valore]
166666.666666667

Esempio 2

Di seguito viene calcolato l'ammortamento totale di tutti i cespiti in anni diversi nel corso della loro durata. In questo caso, il primo anno include solo 7 mesi di ammortamento e l'ultimo anno 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)
  )
)