DB

Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual

Retorna a depreciação de um ativo em um período especificado usando o método de saldo decrescente fixo.

Sintaxe

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

Parâmetros

Termo Definição
cost O custo inicial do ativo.
salvage O valor no final da depreciação (às vezes chamado de valor residual do ativo). Esse valor pode ser 0.
vida O número de períodos sobre o qual o ativo está sendo depreciado (às vezes chamado de vida útil do ativo).
period O período para o qual você deseja calcular a depreciação. Em period, use as mesmas unidades que life. Precisa estar entre 1 e life (inclusive).
month (Opcional) O número de meses no primeiro ano. Se month for omitido, ele será considerado 12.

Valor Retornado

A depreciação durante o período especificado.

Comentários

  • O método de saldo decrescente fixo computa a depreciação a uma taxa fixa. DB usa as seguintes fórmulas para calcular a depreciação de um período:

    $$(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate}$$

    em que:

    • $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, rounded to three decimal places}$
  • A depreciação do primeiro e do último período é um caso especial.

    • Para o primeiro período, DB usa esta fórmula:

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

    • Para o ú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}$$

  • period e month são arredondados para obter o número inteiro mais próximo.

  • Um erro será retornado se:

    • cost < 0.
    • salvage < 0.
    • life < 1.
    • period < 1 ou period > life.
    • month < 1 ou month > 12.
  • Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.

Exemplos

Exemplo 1

A seguinte consulta DAX:

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

Retorna a depreciação de um ativo nos últimos dois meses do primeiro ano, supondo que valerá US$ 0 após 6 anos.

[Value]
166666,666666667

Exemplo 2

O exemplo a seguir calcula a depreciação total de todos os ativos em anos diferentes durante seus tempos de vida. Aqui, o primeiro ano inclui apenas sete meses de depreciação e o último ano inclui apenas cinco 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)
  )
)