Гость
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / возраст запасов / 10 сообщений из 10, страница 1 из 1
16.08.2021, 12:16
    #40090983
montoya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
приветствую!
посчитал запасы по схеме из топика
https://www.sql.ru/forum/1337898/ostatki-po-tovaram-na-datu

остатки построил на основании таблицы оборотов по этой формуле
Код: sql
1.
2.
([Время].[День].[День], Measures.[NULL Остаток]) = SUM(YTD(), Measures.[Движение]);
CREATE MEMBER CURRENTCUBE.[Measures].[Остаток] AS [Measures].[NULL Остаток]



как теперь посчитать возраст запасов?
в таблице движений есть поле PurchDate.

создал ещё одну группу мер в который содержаться.
DateKey - дата календарная, взял все даты текущего календаря. допустим 2021 год.
PurchDate - все даты из таблицы движения.
AgeDays - разница дат.

правильно ли я понимаю, что теперь нужно на уровне листьев посчитать Веса(остаток*AgeDays ) ?
попытался повторить то, что описано по ссылке
https://blog.crossjoin.co.uk/2013/05/29/aggregating-the-result-of-an-mdx-calculation-using-scoped-assignments/

но результата не получил

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
SCOPE([Measures].[NULL Age Vesa]);
    SCOPE([Время].[День].[День].MEMBERS);
        SCOPE([Товары].[Наименование].[Наименование].Members);
            THIS = [Measures].[Остаток] * [Measures].[AgeDays];
        END SCOPE;
    END SCOPE;
END SCOPE;





и второй вопрос как при этой схеме сделать измерение с диапазонами возраста?
а точнее как это измерение связать с Остатками...

хелп пожалуйста.
заранее спасибо
...
Рейтинг: 0 / 0
23.08.2021, 18:16
    #40092767
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
montoya.,

Честно говоря понятие "возраст остатков" выглядит странно.

В декабре привезли 100 шт до марта продали 50 шт в марте привезли 200 штук до мая продали 150 (может из первой партии может из второй) . Каков возраст остатков в мае?

Мы считали "оборачиваемость", то есть за какое время (дней) при текущей скорости продаж и текущем заполнении склада все будет продано. (либо исторически при заполнении склада на рассматриваемую дату).
...
Рейтинг: 0 / 0
23.08.2021, 18:39
    #40092775
montoya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
a_voronin
montoya.,

Честно говоря понятие "возраст остатков" выглядит странно.

В декабре привезли 100 шт до марта продали 50 шт в марте привезли 200 штук до мая продали 150 (может из первой партии может из второй) . Каков возраст остатков в мае?

Мы считали "оборачиваемость", то есть за какое время (дней) при текущей скорости продаж и текущем заполнении склада все будет продано. (либо исторически при заполнении склада на рассматриваемую дату).


оборачиваемость - это оборачиваемость, без неё никуда.
согласен нужно смотреть что у тебя товара допустим на 100 дней, а если ещё видеть что его на 100 дней и при этом он уже 300 дней лежит на складе....то волосы дыбом становятся)

в общем возраст - тоже нужный показатель, что бы мониторить залежавшийся товар.
сейчас я перестраиваю таблицу фактов со срезов на каждый день на "движение", что бы место сэкономить и скорости добавить.
так что приведу пример на таблице "срезов".

на Дату 2021/08/01
Товар 1 - Остаток 100 у.е. - Партия(дата прихода) 2021/07/01 -> Веса = 100 у.е * 31день => 3100
Товар 1 - Остаток 100 у.е. - Партия(дата прихода) 2021/06/01 -> Веса = 100 у.е * 61день => 6100
Возраст средне взвешенный = (3100 + 6100)/(100у.е.+100у.е) = 46 дней.

в общем я на таблице "движений" уже возраст победил, получилось.
теперь бьюсь над измерением диапазонов возраста....
...
Рейтинг: 0 / 0
23.08.2021, 18:46
    #40092778
_дух_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
a_voronin,

А если скорость продаж равна нулю то получаем что? (Ситуаций полно - неликвид, загрузка склада до начала официальных продаж)
Возраст товара величина разумная если принять утверждение "первыми отгружаются самые старые товары".
Это обычно регулируется правилами отгрузки склада и вполне разумно из соображений периодического "просмотра".
...
Рейтинг: 0 / 0
23.08.2021, 20:11
    #40092803
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
a_voronin
Честно говоря понятие "возраст остатков" выглядит странно.


да учет по партиям автору нужен
...
Рейтинг: 0 / 0
23.08.2021, 21:00
    #40092811
montoya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
Критик
a_voronin
Честно говоря понятие "возраст остатков" выглядит странно.


да учет по партиям автору нужен


мне совет нужен)

сам возраст как меру уже сделал. работает как нужно.
сделал как
1. есть таблица движения по ней скрутил остатки на дату как описано выше.
2. создал вторую таблицу фактов Дата-ДатаПрихода-Возраст Дней.
3. по схеме выше посчитал возраст

как теперь сделать измерение групп возраста...?
на таблице остатков "срезы на каждый день" всё было просто в таблице фактов было поле "возраст дней" и таблица измерения с группами, никаких заморочек.

как в кейсе "движений" завязаться на измерение возраста?
...
Рейтинг: 0 / 0
24.08.2021, 13:40
    #40092899
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
montoya.
Критик
пропущено...


да учет по партиям автору нужен


мне совет нужен)

сам возраст как меру уже сделал. работает как нужно.
сделал как
1. есть таблица движения по ней скрутил остатки на дату как описано выше.
2. создал вторую таблицу фактов Дата-ДатаПрихода-Возраст Дней.
3. по схеме выше посчитал возраст

как теперь сделать измерение групп возраста...?
на таблице остатков "срезы на каждый день" всё было просто в таблице фактов было поле "возраст дней" и таблица измерения с группами, никаких заморочек.

как в кейсе "движений" завязаться на измерение возраста?


Дайте точную математическую формулировку того, что вы хотите получить. В программирование нужно начинать с этого.

В вайлдберриз я делал что-то подобное и у меня были три группы мер (по факту три разные группировки от остатков -- не группированная, по поставщикам и по партиям). Между ними переключались через SCOPE. Если выбраны конкретные партии -- показывалось одно, если поставщики, то другое, если ничего не выбрано, то третье.
...
Рейтинг: 0 / 0
25.08.2021, 10:22
    #40093020
montoya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
a_voronin
montoya.
пропущено...


мне совет нужен)

сам возраст как меру уже сделал. работает как нужно.
сделал как
1. есть таблица движения по ней скрутил остатки на дату как описано выше.
2. создал вторую таблицу фактов Дата-ДатаПрихода-Возраст Дней.
3. по схеме выше посчитал возраст

как теперь сделать измерение групп возраста...?
на таблице остатков "срезы на каждый день" всё было просто в таблице фактов было поле "возраст дней" и таблица измерения с группами, никаких заморочек.

как в кейсе "движений" завязаться на измерение возраста?


Дайте точную математическую формулировку того, что вы хотите получить. В программирование нужно начинать с этого.

В вайлдберриз я делал что-то подобное и у меня были три группы мер (по факту три разные группировки от остатков -- не группированная, по поставщикам и по партиям). Между ними переключались через SCOPE. Если выбраны конкретные партии -- показывалось одно, если поставщики, то другое, если ничего не выбрано, то третье.


сам возраст как меру уже сделал, всё ок. - этот вопрос закрыт.(решение :"формулла Моши + решение Крисса")

сейчас застрял на "измерении" возарста. хочу допустим вывести все остатки с возрастом от 30 до 60 дней(группа 30-60).

итого что есть для каждой партии товара есть посчитанный возраст.
возьмём одну конкретную строку. по ней например возраст 50 дней.
и теперь хочу сделать измерение основанное на этой посчитанной мере
что бы я мог вывести сумму остатков с возрастом 50 дней и т.д.(группы)

т.е. суть задачи поидее сводиться к
"привязать к расчётной мере измерение"
или возможно есть другой путь...

ещё раз что хочу видеть на выходу
на любую выбранную дату в фильтре
выводить сумму остатоков по группам возраста.
например:
фильтр: 2021/08/25
строки: категория/группа возраст 0-30;30-60;60-90;90-120;>120
мера: сумма остатка.

нашёл вот такое
http://tomislav.piasevoli.com/2009/08/24/implementing-buckets-in-olap/
ковыряю.
...
Рейтинг: 0 / 0
25.08.2021, 18:00
    #40093171
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов
...
Рейтинг: 0 / 0
25.08.2021, 20:55
    #40093193
montoya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возраст запасов


спасибо!

похоже что подход тот же что и в этом детально описанном посте
http://tomislav.piasevoli.com/2009/08/24/implementing-buckets-in-olap/


создать не привязонное ни к чему измерение и далее скопами вязать к нему данные.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / возраст запасов / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]