Переменные / параметры

Приветствую. в Luxms Очень не хватает такого функционала, как “Переменные” (если пользоваться терминологией QS).
Суть их просто, а функциональность велика.

Заводим переменную vMaxYear и делаем ей определение Max(Year_NCode). Следовательно в этой переменной будет хранится значение максимального года. При этом переменная оперативно пересчитывается при накладывании фильтров. Например в данных 2010-2023, а выбрали 2019-2022, то и мах год будет = 2022.

Что можно дальше делать с этими переменными?

  1. Использовать, как параметры в мерах. (Case when Year_NCode=$(vMaxYear) then Fact_1 End - посчитать сумму за максимальный год)
  2. Использовать для формирования заголовков. (‘Сумма за ’ & $(vMaxYear) & ’ год’)

И другое (предложите свои варианты в комментариях)
Очень прошу реализовать. Открыт к дискуссии! :slight_smile:

Согласен. Это революционный скачок был бы. Начиная от динамичных элементов, которые бы могли принимать функции и потом подставлять их в параметры дешей. И заканчивая промежуточными вычислениями, вроде решения задач"необходимо вывести в пончик топ 20 значений в зависимости от выбранной компании, остальные посчитать как “Прочее”". Сейчас это технически невозможно реализовать.

Иначе приходится писать такие вот запросы:

WITH vMaxYearT AS ( --Определяем МАХ год
SELECT
	Max(year_ncode) as vMaxYear
FROM
	sch_ekaterina_v_volkova.total_margin_rur_amt_plan_fact
WHERE ${filters()}
),
vMaxMonthT AS ( --Определяем МАХ месяц в МАХ году
SELECT
	Max(monthofyear_ncode) as vMaxMonth
FROM
	sch_ekaterina_v_volkova.total_margin_rur_amt_plan_fact, vMaxYearT
WHERE year_ncode = vMaxYear AND ${filters()}
)
SELECT
	year_ncode as year_ncode,
	monthofyear_ncode as monthofyear_ncode,
	year_month as year_month,
	mr_name as mr_name,
	ufps_name as ufps_name,
	segment_name as segment_name,
	vs_name	as vs_name,
	fact_1_value as fact_1_value,
	plan_1_value as plan_1_value,
	vMaxYear as vMaxYear,
    vMaxMonth as vMaxMonth
FROM
	sch_ekaterina_v_volkova.total_margin_rur_amt_plan_fact, vMaxYearT, vMaxMonthT
WHERE ${filters()}