powered by simpleCommunicator - 2.0.43     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / возраст запасов
10 сообщений из 10, страница 1 из 1
возраст запасов
    #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
возраст запасов
    #40092767
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
montoya.,

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

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

Мы считали "оборачиваемость", то есть за какое время (дней) при текущей скорости продаж и текущем заполнении склада все будет продано. (либо исторически при заполнении склада на рассматриваемую дату).
...
Рейтинг: 0 / 0
возраст запасов
    #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
возраст запасов
    #40092778
_дух_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin,

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


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


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


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

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

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

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


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


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

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

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

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


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

В вайлдберриз я делал что-то подобное и у меня были три группы мер (по факту три разные группировки от остатков -- не группированная, по поставщикам и по партиям). Между ними переключались через SCOPE. Если выбраны конкретные партии -- показывалось одно, если поставщики, то другое, если ничего не выбрано, то третье.
...
Рейтинг: 0 / 0
возраст запасов
    #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
возраст запасов
    #40093171
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
возраст запасов
    #40093193
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость


спасибо!

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


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


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