Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Итак, возникла классическая задача - посчитать себестоимость в каждой строке розничной продажи. Известна дата продажи, дата остатка, товар, точка отпуска. Нужно обрабатывать исключения в виде себестоимости, выше или ниже отпускной цены в n раз. Какие будут мнения, подкрепленные практикой, по эффективности реализации этого расчета а) в SQL в джойне с CASE - ами б) в SQL-функции в) в ETL-функции г) в ETL-лукапе д) ? ? Я пока сделал трехпроходный расчет по первому варианту (для упрощения кода). Первый проход вставляет расчетные себестоимости исходя из остатков, второй и третий - обработка исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 21:09 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
А CREATE TABLE и несколько строк для того, чтобы понять задачу поглубже можно привести? Может, там трёх проходов и не нужно? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 22:22 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Давайте не мое решение обсуждать, а делиться экспертизой? Критиковать все мы доки! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2005, 15:32 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Мнение по реализации - почти однозначно первый вариант. Функции это трудносопровождаемо и попадает в зависимость от СУБД. А делать расчет в ETL или в онлайне - это уже выбирать на месте. А схему можете привести с примером данных? Может мы и правда подскажем чего дельное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2005, 16:32 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенДавайте не мое решение обсуждать, а делиться экспертизой? Критиковать все мы доки! К сожалению предмета экспертизы/критики не видно. Приведите более подробное описание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2005, 02:16 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
MSTR_Fan А делать расчет в ETL или в онлайне - это уже выбирать на месте. Какой онлайн? Это же розница! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 18:57 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Странно. Все хотят схему. Она же есть в букварях! Может, не в схеме дело, просто жаба душит свой опыт бесплатно выкладывать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 18:58 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенСтранно. Все хотят схему. Она же есть в букварях! Может, не в схеме дело, просто жаба душит свой опыт бесплатно выкладывать? :) С чего вы решили, что нас жаба душит. Вы ранее это замечали за мной или Константином? Пожалуйста, приведите ссылку на азбучную, по-вашему, задачу. Мне кажется, что вы думаете об одном, а мы из вашего скудного намека на постановку задачи, думаем о другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 19:07 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенКакой онлайн? Это же розница! Ну и что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 19:12 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенСтранно. Все хотят схему. Она же есть в букварях! Ссылку на букварь выложите, пожалуйста, если не трудно. ГликогенКакой онлайн? Это же розница! Розница нынче в он-лайне не работает, разве? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 22:49 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский ГликогенСтранно. Все хотят схему. Она же есть в букварях! Ссылку на букварь выложите, пожалуйста, если не трудно. Пожалуйста! The Data Warehouse Toolkit. Глава 1 про ритейл и следующая, кажется, про Inventory. ГликогенКакой онлайн? Это же розница! Розница нынче в он-лайне не работает, разве? Ну смотря что вы понимаете под "онлайном". На смешном объеме данных в ~3 миллиона строк разнесение себестоимости в каждую обходится в моем случае в 7 минут. И это при неплохой подготовке в области индексации. Вы утверждаете, что MSTR сжует это в онлайне, т.е. прямо в отчете и до 5 минут? И выведет в итог посчитанную маржу? Позволю себе усомниться и опять спросить - нет ли кроме желающих критиковать мое решение и продвигать пафосные брэнды, тех, кто что-то подобное делал сам, и , главное, как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 07:07 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенНу смотря что вы понимаете под "онлайном". На смешном объеме данных в ~3 миллиона строк разнесение себестоимости в каждую обходится в моем случае в 7 минут. И это при неплохой подготовке в области индексации. Вы утверждаете, что MSTR сжует это в онлайне, т.е. прямо в отчете и до 5 минут? И выведет в итог посчитанную маржу? Прошу прощения, но по-моему никто не говорил о том что МСТР то или МСТР это. Константин и я предлагаем решения на чистом SQL, а из какого клиента его запускать - это только ваше решение. Под онлайном я понимаю выполнение всех вычислений на базе исходных данных по желанию пользователя. Если в вашем проекте это не представляется возможным, то можно выполнять эти вычисления в staging area на этапе загрузки, в хранилище после загрузки, на источнике... Это ваш проект и вам решать. Всё что я хотел сказать это то, что реализуя вычисление того или иного показателя на чистом SQL, языке стандартизованном, вы значительно облегчите себе и своим последователям сопровождение, модернизацию и перенос этого алгоритма на другую платформу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 08:05 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
MSTR_Fan Прошу прощения, но по-моему никто не говорил о том что МСТР то или МСТР это. Константин и я предлагаем решения на чистом SQL Это потому что я упредил :) MSTR_Fan Реализуя вычисление того или иного показателя на чистом SQL, языке стандартизованном, вы значительно облегчите себе и своим последователям сопровождение, модернизацию и перенос этого алгоритма на другую платформу Да. Дважды два - четыре. Встречался ли кому-то на практике ETL/BI проект, который бы пришлось портировать на другую СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:16 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
2 Гликоген: Встречался ли кому-то на практике ETL/BI проект, который бы пришлось портировать на другую СУБД? Мне подобные проекты встречаются, например переход со 150-гигабайтного ХД MS SQL Server на Oracle. Или, если брать примеры помельче с XSL на CSV :) Но поскольку в этих проектах основной ETL и вычисление аналитических показателей делалось на уровне BI-средства, без написания рукописного SQL, проблем с миграцией не возникало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:26 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенИтак, возникла классическая задача - посчитать себестоимость в каждой строке розничной продажи. Известна дата продажи, дата остатка, товар, точка отпуска. Нужно обрабатывать исключения в виде себестоимости, выше или ниже отпускной цены в n раз. Какие будут мнения, подкрепленные практикой, по эффективности реализации этого расчета а) в SQL в джойне с CASE - ами б) в SQL-функции в) в ETL-функции г) в ETL-лукапе д) ? ? Я пока сделал трехпроходный расчет по первому варианту (для упрощения кода). Первый проход вставляет расчетные себестоимости исходя из остатков, второй и третий - обработка исключений. Ответьте, правильно ли я понимаю условия вашей задачи. Есть таблица с продажами Код: plaintext 1. 2. 3. 4. 5. 6. 7. и таблица с остатками (Snapschot) Код: plaintext 1. 2. 3. 4. 5. 6. 7. Что надо получить в вашем случае? Дополнить таблицу Sales столбцом stock_preis, и выбрать записи, Код: plaintext Есть ли еще приходы товара? И связанный с этим пересчет себестоимости товара на складе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 11:31 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Про приходы я вроде ничего не писал. Используется только себестоимость на базе известных остатков. Движения (пока) не учитываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:13 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенПро приходы я вроде ничего не писал. Используется только себестоимость на базе известных остатков. Движения (пока) не учитываются. Ну тогда я не вижу причин не считать это on-the-fly в случае ROLAP или включить это во VIEW при загрузке в MOLAP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:18 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Jurii2 Гликоген: Встречался ли кому-то на практике ETL/BI проект, который бы пришлось портировать на другую СУБД? Мне подобные проекты встречаются, например переход со 150-гигабайтного ХД MS SQL Server на Oracle. Или, если брать примеры помельче с XSL на CSV :) Но поскольку в этих проектах основной ETL и вычисление аналитических показателей делалось на уровне BI-средства, без написания рукописного SQL, проблем с миграцией не возникало. А о всеобъемлющих причинах этого перехода вы тоже можете рассказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:19 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
2 backfire: А о всеобъемлющих причинах этого перехода вы тоже можете рассказать? Переход с MS SQL Server на Oracle произошел из-за того, что в компании заменили ERP-систему, старая работала на MS SQL в одном городе, а теперь новая ERP-система работает на СУБД Oracle в другом городе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:31 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Jurii2 backfire: А о всеобъемлющих причинах этого перехода вы тоже можете рассказать? Переход с MS SQL Server на Oracle произошел из-за того, что в компании заменили ERP-систему, старая работала на MS SQL в одном городе, а теперь новая ERP-система работает на СУБД Oracle в другом городе. А при чем тут ХД к OLTP? То что вы назвали максимум тянуло на повод но это никак не причина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:41 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
ГликогенВстречался ли кому-то на практике ETL/BI проект, который бы пришлось портировать на другую СУБД? Даже не учитывая миграцию на платформы более высокого класса, скажите, начиная новый проект у заказчика, от чего вы отталкиваетесь? Или вы хотите сказать что алгоритмы расчета всех показателей, все отчеты используемые в компании всегда тщательно документируются? И вам никогда не приходилось делать reverse чужих разработок чтобы понять как считается скажем дебеторская задолженность, или пресловутая себестоимость? А вообще очень оригинальное поведение для человека испрашающего совета :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:57 |
|
||
|
Считаем себестоимость
|
|||
|---|---|---|---|
|
#18+
Удивительно поведение автара вопроса .... Какая структура таблиц? Партионный учет есть? Приведите CREATE TABLE... При чем тут, что кто-то чем-то делится не хочет, - у тебя конкретная реализация - так покажите ее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 11:19 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33442420&tid=1870724]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 415ms |

| 0 / 0 |
