NOSQL
Применяется к:вычисляемой таблице вычисляемой таблицы Вычисление визуального элемента измерениявычисляемой таблицы
Возвращает амортизацию актива в течение указанного периода с помощью метода фиксированного снижения баланса.
Синтаксис
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Параметры
Термин | Определение |
---|---|
стоимость | Начальная стоимость актива. |
Спасти | Значение в конце амортизации (иногда называется значением спасения ресурса). Может иметь значение 0. |
Жизнь | Количество периодов, в течение которых ресурс не рекомендуется (иногда называется полезной жизнью актива). |
Период | Период, для которого требуется вычислить амортизацию. Период должен использовать те же единицы, что и время жизни. Должно быть от 1 до жизни (включительно). |
Месяц | (Необязательно) Количество месяцев в первом году. Если месяц опущен, предполагается, что он равен 12. |
Возвращаемое значение
Амортизация за указанный период.
Замечания
Метод фиксированного снижения баланса вычисляет амортизацию с фиксированной скоростью. База данных использует следующие формулы для вычисления амортизации за период:
$$(\text{cost} - \text{total амортизация от предыдущих периодов}) \times \text{rate}$$
где:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost})^{{\frac{1}{\text{life}})})\text{, округленное до трех десятичных знаков}$
Амортизация для первых и последних периодов является особым случаем.
В течение первого периода база данных использует следующую формулу:
$$\frac{\text{cost} \times \text{rate} \times \text{month}{12}$$
В течение последнего периода база данных использует следующую формулу:
$$\frac{(\text{cost} - \text{total амортизация от предыдущих периодов}) \times \text{rate} \times (12 - \text{month})}{12}$$
период и месяц округляются до ближайшего целого числа.
Если возвращается ошибка:
- cost < 0.
- salvage < 0.
- life < 1.
- period < 1 или period > life.
- month < 1 или month > 12.
Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Примеры
Пример 1
Следующий запрос DAX:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
Возвращает значение амортизации актива за последние два месяца года. Предполагается, что он будет стоить 0 долл. США через 6 лет.
[значение] |
---|
166666.666666667 |
Пример 2
Ниже вычислится общая амортизация всех активов в разных годах за их время существования. Здесь, первый год включает только 7 месяцев амортизации, и в прошлом году только 5 месяцев.
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)
)
)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по