DB
Se aplica a:Columna calculadaTabla calculadaMediciónCálculo visual
Devuelve la amortización de un activo en un período específico con el método de amortización por disminución fija de saldo.
Sintaxis
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parámetros
Término | Definición |
---|---|
cost | Costo inicial del activo. |
salvage | Valor al final de la amortización (también conocido como valor residual del activo). Este valor puede ser 0. |
vida | Número de períodos durante los cuales se amortiza el activo (también conocido como vida útil del activo). |
period | Período para el que se quiere calcular la amortización. El período debe usar las mismas unidades que la vida del activo. Debe estar entre 1 y la vida del activo (incluida). |
month | (Opcional) Número de meses del primer año. Si el parámetro month se omite, se da por hecho que es 12. |
Valor devuelto
Amortización en el período especificado.
Comentarios
El método de amortización por disminución fija de saldo calcula la amortización a una tasa fija. DB usa las fórmulas siguientes para calcular la amortización de un período:
$$(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate}$$
donde:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, rounded to three decimal places}$
La amortización del primer y el último período es un caso especial.
En el primer período, DB usa esta fórmula:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
En el último período, DB usa esta fórmula:
$$\frac{(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate} \times (12 - \text{month})}{12}$$
Los parámetros period y month se redondean al entero más cercano.
Se devuelve un error si ocurre lo siguiente:
- cost < 0.
- salvage < 0.
- life < 1.
- period < 1 o period > life.
- month < 1 o month > 12.
Esta función no se admite para su uso en el modo DirectQuery cuando se utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).
Ejemplos
Ejemplo 1
La consulta DAX siguiente:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
Devuelve la amortización de un activo en los dos últimos meses del primer año, suponiendo que valdrá 0 USD después de 6 años.
[Value] |
---|
166666,666666667 |
Ejemplo 2
A continuación se calcula la amortización total de todos los activos en años diferentes a lo largo de su vida útil. Aquí, el primer año solo incluye 7 meses de amortización, y el último, tan solo 5 meses.
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)
)
)