powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Что тут можно с оптымизировать)
16 сообщений из 16, страница 1 из 1
Что тут можно с оптымизировать)
    #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
Что тут можно с оптымизировать)
    #32635669
LordOfSilence
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему в кубе остатков только одно измерение? А Даты?
У Вас остаток не на конкретную дату, а на "конец всех времен"?
Что у Вас в качестве таблицы фактов для куба остатков? Другая таблица, нежели для куба оборотов? Остаток у Вас физическая мера?
Отвечаю на последний вопрос: делал, все в одном кубе, вроде все нормально работает...
...
Рейтинг: 0 / 0
Что тут можно с оптымизировать)
    #32635729
to LordOfSilence:
Задача частая относительно частая.
Понимаю что ваши знания - Ваши деньги, но может вы могли бы выложить как FAQ чтобы выяснить как правильно строить такие запросы
...
Рейтинг: 0 / 0
Что тут можно с оптымизировать)
    #32635773
LordOfSilence
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 КакПросьба
Я Вас умоляю! (с) :-)
Какие деньги??? Я не рассматриваю форум, как средство для наживы. И даже пиарить свою скромную персону совершенно не пытаюсь. Хотя этот форум - единственный, на котором я сталкивался с подобным подходом со стороны
некоторых других людей.
Поэтому я и задавал встречные вопросы, чтобы уяснить для себя принцип организации данных в кубах у человека. Кроме того, я уверен, что кроме меня подобным так или иначе занимались и другие участники этого форума. :-)
...
Рейтинг: 0 / 0
Что тут можно с оптымизировать)
    #32635803
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПочему в кубе остатков только одно измерение? А Даты?
У Вас остаток не на конкретную дату, а на "конец всех времен"?
Есть у меня и кубы остатков, там много измерений.
Специально для данного случая создал маленький куб остатков на текущую дату, ибо только ее и надо.(там всего то около 20.000 сгруппированных по товарам остатков, в приходах - около 70.000 товаров с движениями, иерархия parent-child)

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

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


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

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

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

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


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