DB
aplica-se a:coluna calculada
tabela calculada
medida
cálculo visual
Retorna a depreciação de um ativo por um período especificado usando o método de saldo de declínio fixo.
Sintaxe
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parâmetros
Prazo | Definição |
---|---|
cost |
O custo inicial do ativo. |
salvage |
O valor no final da depreciação (às vezes chamado de valor de salvamento do ativo). Esse valor pode ser 0. |
life |
O número de períodos em que 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. O período deve usar as mesmas unidades que a vida útil. Deve estar entre 1 e a vida (inclusive). |
month |
(Opcional) O número de meses no primeiro ano. Se o mês for omitido, supõe-se que seja 12. |
Valor retornado
A depreciação durante o período especificado.
Observações
O método de saldo de declínio fixo calcula a depreciação a uma taxa fixa. DB usa as seguintes fórmulas para calcular a depreciação por um período:
$$(\text{cost} - \text{depreciação total de períodos anteriores}) \times \text{rate}$$
onde:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, arredondado para três casas decimais}$
A depreciação do primeiro e último períodos é 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{depreciação total de períodos anteriores}) \times \text{rate} \times (12 - \text{month})}{12}$$
o período e o mês são arredondados para o inteiro mais próximo.
Um erro será retornado se:
- custo < 0.
- salvamento < 0.
- vida < 1.
- período < 1 ou período > vida útil.
- mês < 1 ou mês > 12.
Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).
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 ele valerá \$0 após 6 anos.
[Valor] |
---|
166666.666666667 |
Exemplo 2
A seguir, calcula a depreciação total de todos os ativos em anos diferentes ao longo de suas vidas. Aqui, o primeiro ano inclui apenas 7 meses de depreciação, e o último ano inclui apenas 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)
)
)