Я работаю над проектом Data Warehouse, и клиент ежедневно предоставляет данные о продажах. Количество в руке в большинстве случаев предоставляется, но часто отсутствует. Мне нужна помощь в том, как заполнить эти недостающие значения на основе предыдущих ОН и информации о продажах.
T-SQL - заполнение пробелов в текущем балансе
Вот образец данные:
Line# Store Item OnHand SalesUnits DateKey
-----------------------------------------------
1 001 A 100 20 1
2 001 A 80 10 2
3 001 A null 30 3 --[OH updated with 70 (80-10)]
4 001 A null 5 4 --[OH updated with 40 (70-30)]
5 001 A 150 10 5 --[OH untouched]
6 001 B null 4 1 --[OH untouched - new item]
7 001 B 80 12 2
8 001 B null 10 3 --[OH updated with 68 (80-12]
Линия 1 и 2 не должны быть обновлены, поскольку существует OnHand величины.
Строки 3 и 4 должны обновляться на основе предыдущих строк.
Строка 5 должна быть оставлена нетронутой, поскольку предоставляется OnHand.
Line 6 необходимо оставить нетронутым, потому что это первая строку для обозначеннной
Есть ли способ, что я могу сделать это в операции настройки? Я знаю, что я могу сделать это легко, используя быстрый движок quick_forward, но это займет много времени (15M + строк).
Благодарим за помощь!
Не запускайте скрипт из @Diego, это испортит ваши данные! –