DB
aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual
Retorna a depreciação de um ativo por um período especificado usando o método de saldo fixed-declining.
Sintaxe
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parâmetros
Prazo | Definição |
---|---|
cost |
O custo inicial do ativo. |
salvage |
O value no final da depreciação (às vezes chamado de value de resgate do ativo). Esse value 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 calculate a depreciação. O período deve usar as mesmas unidades que a vida útil. Deve estar entre 1 and vida (inclusive). |
month |
(Opcional) O número de meses no firstyear. If month é omitido, presume-se que seja 12. |
Retornar Value
A depreciação durante o período especificado.
Observações
O método fixed-declining balance calcula a depreciação em um fixedrate. DB usa as seguintes fórmulas para calculate 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}$
Depreciação para os períodos de firstandlast é um caso especial.
Para o período first, DB usa esta fórmula:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
Para o período last, DB usa esta fórmula:
$$\frac{(\text{cost} - \text{depreciação total de períodos anteriores}) \times \text{rate} \times (12 - \text{month})}{12}$$
os andmonth de período são arredondados para o inteiro mais próximo.
Um error é retornado if:
- custo < 0.
- salvamento < 0.
- vida < 1.
- período < 1 or período > vida.
- month < 1 ormonth> 12.
Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or 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 no last dois meses do firstyear, supondo que ele valerá \$0 após 6 anos.
[Value] |
---|
166666.666666667 |
Exemplo 2
O seguinte calcula a depreciação total de all ativos em anos diferentes ao longo de suas vidas. Aqui, o firstyear inclui apenas 7 meses de depreciação, and o lastyear 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)
)
)