Compartir a través de


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