Вычисление давности периода в неделях, месяцах, кварталах и годам с помощью 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» ).