Partager via


DB

S’applique à :Colonne calculéeTable calculéeMesureCalcul visuel

Retourne l’amortissement d’un actif pour une période spécifiée, calculé avec la méthode de l’amortissement dégressif à taux fixe.

Syntaxe

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

Paramètres

Terme Définition
cost Coût initial du bien.
salvage Valeur au terme de l’amortissement (parfois appelée valeur résiduelle de l’actif). Cette valeur peut être égale à 0.
à faire parler vos données Nombre de périodes pendant lesquelles l’actif est amorti (parfois appelé durée de vie utile de l’actif).
period Période pour laquelle vous souhaitez calculer l’amortissement. Elle doit utiliser les mêmes unités que life. Doit être comprise entre 1 et la valeur de life (incluse).
month (Facultatif) Nombre de mois dans la première année. Si month est omis, sa valeur supposée est 12.

Valeur de retour

Amortissement sur la période spécifiée.

Notes

  • La méthode de l’amortissement dégressif fixe calcule l’amortissement avec un taux fixe. DB utilise la formule suivante pour calculer l’amortissement au cours d’une période :

    $$(\text{cost} - \text{amortissement total des périodes précédentes}) \times \text{rate}$$

    où :

    • $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, arrondi à trois décimales}$
  • L’amortissement sur les première et dernière périodes est un cas particulier.

    • Pour la première période, DB utilise cette formule :

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

    • Pour la dernière période, DB utilise cette formule :

      $$\frac{(\text{cost} - \text{amortissement total des périodes précédentes}) \times \text{rate} \times (12 - \text{month})}{12}$$

  • period et month sont arrondis à l’entier le plus proche.

  • Une erreur est retournée si :

    • cost < 0.
    • salvage < 0.
    • life < 1.
    • period < 1 ou period > life.
    • month < 1 ou month > 12.
  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).

Exemples

Exemple 1

La requête DAX suivante :

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

Retourne l’amortissement d’un actif sur les deux derniers mois de la première année, en supposant qu’il sera de 0 USD après 6 ans.

[Valeur]
166666,666666667

Exemple 2

L’exemple suivant calcule l’amortissement total de tous les actifs sur plusieurs années pendant leur durée de vie. Ici, la première année inclut seulement 7 mois d’amortissement et la dernière année, uniquement 5 mois.

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