Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Виртуальный куб / 7 сообщений из 7, страница 1 из 1
24.03.2006, 10:48
    #33622626
FiGr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный куб
Существует 2 куба токой структуры:

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

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

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

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

Как решить эту проблему?
...
Рейтинг: 0 / 0
24.03.2006, 11:57
    #33622935
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный куб
СМ
Код: plaintext
Сумма = Количество проданного товара * ValidMeasure(Цена)
...
Рейтинг: 0 / 0
28.03.2006, 16:39
    #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
28.03.2006, 18:03
    #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
29.03.2006, 09:20
    #33631289
FiGr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный куб
Это понятно.
но цена это как бы пример, в действительности это
4 измерения Цена(Приходная, Оптовая, Мелко-оптовая, Розничная)
держать в регистрах это не нужно, для этого и строится куб.

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

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

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

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


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