Partager via


DB

s’applique à :colonne calculéetable calculéeMeasurecalcul visuel

Retourne l’amortissement d’un actif pour une période spécifiée à l’aide de la méthode fixed-déclinant le solde.

Syntaxe

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

Paramètres

Terme Définition
cost Coût initial de l’actif.
salvage Le value à la fin de l’amortissement (parfois appelé la récupération value de l’actif). Cette value peut être 0.
life Nombre de périodes pendant lesquelles l’actif est déprécié (parfois appelé durée de vie utile de l’actif).
period Période pendant laquelle vous souhaitez calculate l’amortissement. La période doit utiliser les mêmes unités que la vie. Doit être comprise entre 1 and vie (inclusive).
month (Facultatif) Nombre de mois dans le firstyear. If month est omis, il est supposé être 12.

Retourner Value

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

Remarques

  • La fixed-la méthode de solde décroissant calcule l’amortissement à un fixedrate. DB utilise les formules suivantes pour calculate amortissement pendant 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 pour les périodes de firstandlast est un cas particulier.

    • Pour la période de first, DB utilise cette formule :

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

    • Pour la période de last, DB utilise cette formule :

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

  • le point andmonth sont arrondis à l’entier le plus proche.

  • Un error est retourné if:

    • coût < 0.
    • < 0.
    • la vie < 1.
    • période < 1 période or période > vie.
    • month < 1 ormonth> 12.
  • Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).

Exemples

Exemple 1

Requête DAX suivante :

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

Retourne l’amortissement d’un actif dans le last deux mois du firstyear, en supposant qu’il vaut 0 $ après 6 ans.

[Value]
166666.666666667

Exemple 2

Le code suivant calcule l’amortissement total de all actifs dans des années différentes au cours de leur durée de vie. Ici, le firstyear comprend seulement 7 mois d’amortissement, and le lastyear inclut seulement 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)
  )
)