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