Я использую существующую таблицу, которая содержит значения для элементов, значения которых меняются в определенные дни, либо увеличиваясь, либо уменьшаясь. Мне нужно суммировать значение на основе значения, увеличивающегося от предыдущего наибольшего значения, только если оно использует первое значение в качестве начального порога. Я пытался сделать это динамически.
Структура текущей таблицы как (A)
Пытаясь достичь (B)
Я пытался использовать max () для раздела, чтобы пометить самое высокое значение, хотя, похоже, застрял в этой точке
SELECT a.Client_ID, a.Value_Amount_Change_Date, a.Value_Amount,
(case when max(a.Value_Amount) over (partition by a.Client_ID) = Value
then 1 else 0
end) as Last_Highest_Value
FROM [Client_DB].[dbo].[Value_Tracking] a
WHERE a.Account_Num IN ('A1234', 'A6789')
GROUP BY a.Client_ID, a.Value_Amount_Change_Date, a.Value_Amount;
Ожидаемый набор результатов должен включать дополнительный столбец, в котором указывается только значение, основанное на увеличении предыдущего наибольшего значения, с использованием начального значения в качестве начального значения для сравнения с