Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Что тут можно с оптымизировать) / 16 сообщений из 16, страница 1 из 1
04.08.2004, 14:20
    #32635129
Quark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
MS OLAP sp3a, MSSQL 2000/

Необходимо в одном кубе видеть ПриходТовара от конкретного клиента в Суммовом и количественном выражении и остаток этих кодов в текущий момент на складе.

Решил сделать так -
один куб ПриходТовара(измерения: Клиент,Даты, Товар, прочие),
второй ОстатокТовара(измерение Товар).

Создаем виртуальный куб объединяющий предыдущие два.
Все идеально работает, пока не выбираем другие измерения
тогда пропадает мера ОстатокТовара. Но это понятно.
Лечится
Код: plaintext
1.
sum({crossjoin({[Товары].currentmember},{[Контрагенты].[All Контрагенты]} итп)}
,[Measures].[Остаток])
теперь однако при отборе по конкретному, остаются прочие товары.
приходится добавлять
Код: plaintext
1.
iif([Measures].[Приход]> 0 ,sum({crossjoin({[Товары].currentmember},{[Контрагенты].[All Контрагенты]})}
,[Measures].[Остаток]),null)
теперь осталось убрать "неправильные" суммы по аггрегатам
делаем
Код: plaintext
1.
IIF(IsLeaf([Товары].currentmember)=TRUE,[Measures].[Остаток]
, 0 )
и над ним
Код: plaintext
sum(Descendants([Товары].CurrentMember,,LEAVES),measures.[ПредыдущийSRC])
но тут естественно начинаются тормоза.
Отображение скажем 300 товаров при прочих свернутых измерениях длится 30 секунд.
Как можно с оптимизировать? Делал ли кто подобное.
...
Рейтинг: 0 / 0
04.08.2004, 18:08
    #32635669
LordOfSilence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
Почему в кубе остатков только одно измерение? А Даты?
У Вас остаток не на конкретную дату, а на "конец всех времен"?
Что у Вас в качестве таблицы фактов для куба остатков? Другая таблица, нежели для куба оборотов? Остаток у Вас физическая мера?
Отвечаю на последний вопрос: делал, все в одном кубе, вроде все нормально работает...
...
Рейтинг: 0 / 0
04.08.2004, 18:35
    #32635729
Что тут можно с оптымизировать)
to LordOfSilence:
Задача частая относительно частая.
Понимаю что ваши знания - Ваши деньги, но может вы могли бы выложить как FAQ чтобы выяснить как правильно строить такие запросы
...
Рейтинг: 0 / 0
04.08.2004, 19:00
    #32635773
LordOfSilence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
2 КакПросьба
Я Вас умоляю! (с) :-)
Какие деньги??? Я не рассматриваю форум, как средство для наживы. И даже пиарить свою скромную персону совершенно не пытаюсь. Хотя этот форум - единственный, на котором я сталкивался с подобным подходом со стороны
некоторых других людей.
Поэтому я и задавал встречные вопросы, чтобы уяснить для себя принцип организации данных в кубах у человека. Кроме того, я уверен, что кроме меня подобным так или иначе занимались и другие участники этого форума. :-)
...
Рейтинг: 0 / 0
04.08.2004, 19:29
    #32635803
Quark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
авторПочему в кубе остатков только одно измерение? А Даты?
У Вас остаток не на конкретную дату, а на "конец всех времен"?
Есть у меня и кубы остатков, там много измерений.
Специально для данного случая создал маленький куб остатков на текущую дату, ибо только ее и надо.(там всего то около 20.000 сгруппированных по товарам остатков, в приходах - около 70.000 товаров с движениями, иерархия parent-child)

авторЧто у Вас в качестве таблицы фактов для куба остатков? Другая таблица, нежели для куба оборотов?
Да, поэтому и пришлось делать вирт. куб.
Просто не придумалось куда запихнуть клиента при отображении остатков.
Купили мы у поставшика, но теперь товар то наш. Или дробить его на партии по закупленным у клиента. Тоже вариант, подумаю. Но мне кажется что он более "неправильный" с точки зрения логики DW/
...
Рейтинг: 0 / 0
04.08.2004, 19:34
    #32635812
Quark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
Кстати данная структура куба многим думаю пригодиться, если у вас есть множество подконтрольных дистрибьюторов.
Открыв в одном отчете Приход от Клиента, Остатки товара(фильтр тех что пришли от клиента), РАсход на клиента можно увидеть "серые" фирмы которые используют ваши дистрибьюторы для сокрытия прибыли.)
Хотя конечно это не единственный думается вариант
...
Рейтинг: 0 / 0
04.08.2004, 21:23
    #32635886
Jurii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
To Quark:

там всего то около 20.000 сгруппированных по товарам остатков, в приходах - около 70.000 товаров с движениями, иерархия parent-child
но тут естественно начинаются тормоза.
Отображение скажем 300 товаров при прочих свернутых измерениях длится 30 секунд.


Может десятки тысяч товаров - это просто перебор для parent-child?
Я обычно делаю в кубе и движения товаров, и остатки (как нарастающий итог от разности между приходами и расходами). Эта тема много раз обсуждалась. Так что похоже Вы пытаетесь изобрести велосипед...
...
Рейтинг: 0 / 0
05.08.2004, 06:06
    #32636039
Quark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
автор Эта тема много раз обсуждалась. Так что похоже Вы пытаетесь изобрести велосипед...
Я в курсе, хотя всегда был противником нарастающего итога и в своих реализациях выбрал подневное хранение остатков в DW/

Но здесь мне не нужен нарастающий итог, а только итог на последнюю дату.

авторЯ обычно делаю в кубе и движения товаров, и остатки
А как вы привязываетесь к Контрагентам?
...
Рейтинг: 0 / 0
05.08.2004, 09:22
    #32636185
LordOfSilence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
Ну что я тут могу сказать?
Я делал ровно то же, что описал чуть ранее Jurii. Это действительно в том или ином виде тут много раз обсуждалось.

QuarkА как вы привязываетесь к Контрагентам?
Не пойму, что собственно Вас смущает? В таблице фактов обычно существуют
foreign key и для Контрагентов, и для Товаров, и много еще чего. Приходы/расходы имеются. Добавить в нее (таблицу фактов) еще одно поле "Приходы-расходы" не составляет никакого труда. По этому полю строится нарастающий итог, который дает остаток. По-моему дешево и сердито. :-)
...
Рейтинг: 0 / 0
05.08.2004, 09:39
    #32636216
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
вот всетаки интересно какая реализация будет работать быстрее делать остатки нарастающим итогом или хранить подневные т.к. я как и Quark выбрал последнее, все руки не доходят сделать и первую, т.к. всеравно мало кто 100% расчитывает все агрегаты и прийдется расчитывать итог
кто нить делал такое сравнение на одних и техже данных
...
Рейтинг: 0 / 0
05.08.2004, 11:31
    #32636465
LordOfSilence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
2 Валек
Если помнишь, мы, кажется, с тобой (или нет?) обсуждали этот момент.
У меня работает вариант с нарастающим итогом и производительность его в целом устраивает. Не устраивает другое , но, к сожалению, никто так своими мыслями не поделился. ;-(
...
Рейтинг: 0 / 0
05.08.2004, 15:15
    #32637109
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
ага
так вот может стоит в твоем случае это делать на уровне dwh, но у тебя насколько я помню данные ч/з вьюху в куб качаються из 1с, так что фиг его знает, я всегда советую делать хранилище так правильнее
эх как нибудь соберусь сделаю оба варианта
...
Рейтинг: 0 / 0
05.08.2004, 16:00
    #32637264
LordOfSilence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
2 Валек.
У меня другая "беда". :-)
Я опасаюсь делать "на уровне DWH", так как по моим прикидкам таблица фактов разрастется до 40-45 млн. записей. Уж очень не хочется получать нечто монструозное. Дело в том, что у меня восемь измерений участвуют в кубе, где необходимы остатки и "разворот до дня" может дать такие объемы...
...
Рейтинг: 0 / 0
05.08.2004, 16:15
    #32637316
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
у меня 14 измерений детализация по дням и до подгрупп товаров полное движение подгрупп товаров по клиентам, данные загружены за 5 лет
таблица фактов куба я думаю порядка 1-1,3млн. записей, это не так много
, счас делаю новое хранилище с детализацией до товаров тут я думаю таблица фактов сразу разростеться т.к. номенклатура около 46тыс.
Но здесь все зависит от структуры хранилица и куба, я сделал куб разбитым на партиции (по годам, мне так показалось проще) и соответственно в хранилище у меня данные тока для одной партиции, текущей, которая и обновляется, из за этого и хранилице небольшого размера и куб быстро обновляется даже полным обновлением.
...
Рейтинг: 0 / 0
05.08.2004, 16:18
    #32637333
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
LordOfSilence кинь в мыло асю, мож будет о чем пообщаться, а то на Т1С и Z1С тебя что то давно не видел
...
Рейтинг: 0 / 0
05.08.2004, 16:45
    #32637400
LordOfSilence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что тут можно с оптымизировать)
Я свой профиль подправил, смотри туда.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Что тут можно с оптымизировать) / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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