powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Виртуальный куб
7 сообщений из 7, страница 1 из 1
Виртуальный куб
    #33622626
FiGr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует 2 куба токой структуры:

Куб 1
Измерения:
Дата
Магазин
Товар
Мера:
Количество проданного товара

Куб 2
Измерения:
Дата
Товар
Мера:
Цена

При объединении в виртуальный куб получаем
Вирт куб
Измерения:
Дата
Магазин
Товар
Мера:
Количество проданного товара
Цена
СМ
Сумма = Количество проданного товара * Цена

При попытке установки фильтра по Магазину Цена обнуляется.

Как решить эту проблему?
...
Рейтинг: 0 / 0
Виртуальный куб
    #33622935
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СМ
Код: plaintext
Сумма = Количество проданного товара * ValidMeasure(Цена)
...
Рейтинг: 0 / 0
Виртуальный куб
    #33630243
FiGr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из базы 1С
Существует 2 куба токой структуры:

Куб 1
Измерения: Дата, Товар(Parent-Child), Склад
Меры: Количество Приход, Количество Расход
Куб 2
Измерения: Дата,Товар(Parent-Child)
Мера: Цена (не на каждый день а только дни в которых цена меняется)

При объединении в виртуальный куб получаем
Вирт куб
Измерения: Дата, Магазин, Товар
Меры: Количество Приход, Количество Расход, Цена
СМ
Остаток = Sum(PeriodsToDate([Дата].[(All)],[Дата].CurrentMember),[Measures].[Количество Приход]-[Measures].[Количество Расход])
Цена на день = iif(IsEmpty(ValidMeasure([Measures].[Цена])), [Дата].PrevMember, ValidMeasure([Measures].[Цена]))
Сумма остатка = [Measures].[Остаток]*[Measures].[Цена на день]


Сумма остатка расчитывается только при выборе конкретного товара а суммарно нет!

Как решить эту проблему?
...
Рейтинг: 0 / 0
Виртуальный куб
    #33630541
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FiGr Из базы 1С
Существует 2 куба токой структуры:

Куб 1
Измерения: Дата, Товар(Parent-Child), Склад
Меры: Количество Приход, Количество Расход
Куб 2
Измерения: Дата,Товар(Parent-Child)
Мера: Цена (не на каждый день а только дни в которых цена меняется)

При объединении в виртуальный куб получаем
Вирт куб
Измерения: Дата, Магазин, Товар
Меры: Количество Приход, Количество Расход, Цена
СМ
Остаток = Sum(PeriodsToDate([Дата].[(All)],[Дата].CurrentMember),[Measures].[Количество Приход]-[Measures].[Количество Расход])
Цена на день = iif(IsEmpty(ValidMeasure([Measures].[Цена])), [Дата].PrevMember, ValidMeasure([Measures].[Цена]))
Сумма остатка = [Measures].[Остаток]*[Measures].[Цена на день]


Сумма остатка расчитывается только при выборе конкретного товара а суммарно нет!

Как решить эту проблему?

А что у вас показывает цена для группы товаров? :-) Среднюю температуру по палате?

Для уровня отличного от товара вам надо спустится до вычисления суммы произведений цены на количество для каждого товара.

Говорю вам сразу, что такой дизайн никуда не годится, ибо вы используете AS не по назначению. При мало мальском списке товара (несколько десятков тысяч - ваша система почит в бозе).

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

в этом случае у вас получится построить производительное решение.
...
Рейтинг: 0 / 0
Виртуальный куб
    #33631289
FiGr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это понятно.
но цена это как бы пример, в действительности это
4 измерения Цена(Приходная, Оптовая, Мелко-оптовая, Розничная)
держать в регистрах это не нужно, для этого и строится куб.

То что у групп нет цены я тоже понимаю. Может конечно я не правильно поставил вопрос, попробую перефразировать.

Как сделать чтобы у элементов товаров было произведения а в группах накапливалась сумма?
...
Рейтинг: 0 / 0
Виртуальный куб
    #33631389
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FiGrКак сделать чтобы у элементов товаров было произведения а в группах накапливалась сумма? Самое лучшее - сделать сумму физической мерой

но можно, конечно и CM написать типа SUM(descendants(...),...)
...
Рейтинг: 0 / 0
Виртуальный куб
    #33633750
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukov
...но можно, конечно и CM написать типа SUM(descendants(...),...)

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


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