Меню Закрыть

Вычисление давности периода

Вычисление давности периода в неделях, месяцах, кварталах и годам с помощью Power Query в MS Excel / MS Power BI

(check_date as date, period as text) =>
let
    current_date = Date.From(DateTime.LocalNow()),
    weeks_ago =  Duration.Days(Date.StartOfWeek(current_date) - Date.StartOfWeek(check_date)) / 7,
    months_ago = ((Date.Year(current_date) - Date.Year(check_date)) * 12) + Date.Month(current_date) - Date.Month(check_date),
    current_quarter = Date.StartOfQuarter(current_date),
    check_quarter = Date.StartOfQuarter(check_date),
    quarters_ago = (((Date.Year(current_quarter) - Date.Year(check_quarter)) * 12) + Date.Month(current_quarter) - Date.Month(check_quarter))/ 3,
    years_ago = Date.Year(current_date) - Date.Year(check_date),
    result = (
        if period = "week" then weeks_ago 
        else if period = "month" then months_ago 
        else if period = "quarter" then quarters_ago 
        else if period = "year" then years_ago 
        else weeks_ago
    )
in
    result

Данная функция вычисляет количество недель, месяцев, кварталов и лет от текущей даты.

Для текущей недели, месяца, квартала и года функция выводит «0». Для прошлых периодов — положительные цифры от 1 и далее, а для будущих периодов меньше -1 и далее.

В качестве параметров принимается дата и тип вычисляемого параметра («week», » month», «quarter», «year» ).

Код функции и пример файла на GitHub

Опубликовано в Аналитика

Похожие посты