Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Здравствуйте, коллеги!
Имеются перемещения товара в разные дни по разным закупочным ценам, необходимо посчитать стоимость перемещенных товаров за период. Проблема в том, что по понятным причинам я не могу хранить цены на каждый день для каждого товара, поэтому сделал интервалы действия цены.
Посоветуйте, пожалуйста, как посчитать.. Конечно, напрашивается intervalmatch..
Добрый день.
Напрашивается поле "Цена Закупки" в таблице Перемещения.
IntervalMatch() в расширенном варианте может помочь.
Например,
Цены:
LOAD * INLINE [
ID_Товара, ЦенаЗакупки, ДатаОт, ДатаДо
1, 1000, 01.01.2015, 10.01.2015
1, 1200, 11.01.2015, 21.01.2015
1, 1300, 22.01.2015, 31.01.2015
2, 300, 01.01.2015, 15.01.2015
2, 400, 16.01.2015, 24.01.2015
2, 300, 25.01.2015, 31.01.2015
];
Движения:
LOAD * INLINE [
ID_Товара, ДатаДвижения, Количество
1, 05.01.2015, 10
1, 12.01.2015, 20
2, 11.01.2015, 5
2, 18.01.2015, 3
1, 23.01.2015, 4
1, 25.01.2015, 66
2, 26.01.2015, 4
2, 7.01.2015, 8
];
inner Join IntervalMatch (ДатаДвижения,ID_Товара) LOAD ДатаОт, ДатаДо,ID_Товара Resident Цены;
Затем, подтянуть цену закупки, убрать лишнее. и должна остаться цена по каждой дате движения.
Добрый день.
Напрашивается поле "Цена Закупки" в таблице Перемещения.
IntervalMatch() в расширенном варианте может помочь.
Например,
Цены:
LOAD * INLINE [
ID_Товара, ЦенаЗакупки, ДатаОт, ДатаДо
1, 1000, 01.01.2015, 10.01.2015
1, 1200, 11.01.2015, 21.01.2015
1, 1300, 22.01.2015, 31.01.2015
2, 300, 01.01.2015, 15.01.2015
2, 400, 16.01.2015, 24.01.2015
2, 300, 25.01.2015, 31.01.2015
];
Движения:
LOAD * INLINE [
ID_Товара, ДатаДвижения, Количество
1, 05.01.2015, 10
1, 12.01.2015, 20
2, 11.01.2015, 5
2, 18.01.2015, 3
1, 23.01.2015, 4
1, 25.01.2015, 66
2, 26.01.2015, 4
2, 7.01.2015, 8
];
inner Join IntervalMatch (ДатаДвижения,ID_Товара) LOAD ДатаОт, ДатаДо,ID_Товара Resident Цены;
Затем, подтянуть цену закупки, убрать лишнее. и должна остаться цена по каждой дате движения.
Евгений, большое спасибо!