Ich habe eine Tabelle wie folgt aus:Ableitung Dynamische Spalte in SQL
Store_Id | Week
---------+--------
A1 | 201601
A1 | 201602
A1 | 201604
A1 | 201606
A1 | 201607
A2 | 201552
A2 | 201603
A2 | 201604
A2 | 201605
A2 | 201608
Ich brauche eine dynamische Woche Spalte neben diesem abzuleiten, die im Idealfall wird wie folgt aussehen:
Store_Id | Week | Dynamic_Week
---------+--------+-------------
A1 | 201602 | 1
A1 | 201603 | 2
A1 | 201605 | 4
A1 | 201606 | 5
A1 | 201607 | 6
A2 | 201552 | 1
A2 | 201603 | 4
A2 | 201604 | 5
A2 | 201605 | 6
A2 | 201608 | 9
Die Logik ist: Die MIN (Woche) für jedes Geschäft gilt als erste Verkaufswoche für das entsprechende Geschäft. Die vorherigen Werte in der dynamischen Woche werden basierend auf der Referenz der ersten Verkaufswoche für jedes Geschäft erhöht.
Ich versuchte Row_Number()
, RANK()
, DENSE_RANK()
, aber konnte nicht eine Lösung erhalten, die benötigt wird. Alle drei Dinge haben nicht funktioniert.
Kann mir jemand mit einer möglichen Lösung vorschlagen.
Vielen Dank im Voraus.
können Sie eine Spalte enthält min haben (Woche) pro insbesondere storeId und sie dann für die dynamische Woche subtrahieren. –