powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Средневзвешенный итог в OLAP
13 сообщений из 13, страница 1 из 1
Средневзвешенный итог в OLAP
    #40108216
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста, новичку, как в OLAP рассчитывается средневзвешенный итог?
Начяал читать по этому вопросу и много путаницы.
Обязательно нужен какой-то весовой коэффициент и дополнительная мера?
Прошу, ещё раз, сильно не кидаться тапками, а объяснить на пальцах или отправить к пруфу, где всё расписано понятно для первоклассника. Спасибо за понимание и ответы.
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40109849
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikka sikorsky
Подскажите, пожалуйста, новичку, как в OLAP рассчитывается средневзвешенный итог?
Начяал читать по этому вопросу и много путаницы.
Обязательно нужен какой-то весовой коэффициент и дополнительная мера?
Прошу, ещё раз, сильно не кидаться тапками, а объяснить на пальцах или отправить к пруфу, где всё расписано понятно для первоклассника. Спасибо за понимание и ответы.


я обычно веса делаю на уровне хранилища
в кубе это мера

а далее в кубе делю одно на другое и получаю средневзвешенное.


например таблица остатков товара на уровне базы данных в ней пред рассчитываешь веса.
товар, сумма(100), возраст дней(10), веса = 100*10

а далее в кубе делаешь 3 меры
1. остатки
2. остатки веса(скрытая)

и третья вычисляемая

средне взв. возраст = остатки веса / веса
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40115625
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
montoya.,

спасибо за ответ.
Если рассмотреть на моём примере, то ка должно быть сделано?
Есть поле "Акционная цена с НДС", её вес - поле "Продано".
Т.е. мне нужно сделать скрытую меру в виде произведения этих полей, а как потом подсунуть итог этого поля / на итог по полю "Продано" в поле "Акционная цена с НДС"? Алгоритм вернуый?
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40115939
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikka sikorsky
montoya.,

спасибо за ответ.
Если рассмотреть на моём примере, то ка должно быть сделано?
Есть поле "Акционная цена с НДС", её вес - поле "Продано".
Т.е. мне нужно сделать скрытую меру в виде произведения этих полей, а как потом подсунуть итог этого поля / на итог по полю "Продано" в поле "Акционная цена с НДС"? Алгоритм вернуый?


какая мера на выходе должна быть?
и какие есть на входе?
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116017
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
montoya.,

на входе есть мера "Акционная цена с НДС", её вес "Продано" - тоже мера, есть на входе.
На выходе нужно у "Акционная цена с НДС" изменить итог на средневзвешенное значение.
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116110
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikka sikorsky
montoya.,

на входе есть мера "Акционная цена с НДС", её вес "Продано" - тоже мера, есть на входе.
На выходе нужно у "Акционная цена с НДС" изменить итог на средневзвешенное значение.



на уровне SQL добавить поле есть возможность?
если да тогда: на уровне таблицы добавь поле АкцияВеса = "Акционная цена с НДС" * "Продано"
если не можешь на уровне SQL таблицы
куб на таблицы настроен или на вьюхи?

затем в кубе создай физическую меру АкцияВеса и можешь спрятать её что б не раздражала.
+ должна быть мера "Продано"

и далее в calculated создаёшь вычисляемую меру

"Акционная цена с НДС" = АкцияВеса / "Продано"
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116365
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куб настроен на вьюхи, попробую во вьюхе сделсть поле с произведением Акционная цена с НДС" на "Продано". Вытащу в куб, создам невидимую меру из поля, где произведение во вьюхе, делаю новую вычисляемую меру "Акционная цена с НДС", а старую просто скрываю? Если так, то понял алгоритм. Спасибо огромное. Теперь весь вопрос в добавлении полей во вьюху. Но это уже местный вопрос
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116567
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
montoya.,

а как быть, если вес является вычисляемой мерой в кубе и на уровне таблицы/вьюхи добавить вычисляемое поле АкцияВеса - нельзя?
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116599
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikka sikorsky,

метод рекомендуемый выше годится для жестко определённого статичного отчёта.
в большинстве случаев он не подходит и расчёт неизбежно придётся делать on-a-fly / во время выполнения запроса
т.к. база total и состав элементов может меняться по выбору пользователя
соответственно веса каждого элемента будут меняться
в зависимости oт этого выбора.

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

так что берёте и реализуете алгоритм прямо как описано в методологии
на соответствующем диалекте olap - современном DAX или устаревшем MDX:
для каждой частной строки считается доля по отношению к общему в контексте выбранных фильтров
и находится сумма продуктов этого относительного веса на соответствующую метрику.
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116825
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv,

спасибо за науку.
к сожалению мой MDX слабоват.
насколько понял, нужно считать через SCOPE.
не поможете с запросом?
В кубе есть две вычисляемые меры: "Акцтинная цена" и "Продано".
"Продано" является весом. В итог меры "Акцтинная цена" нужно подсунуть средневзвешенное значение.
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40116979
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikka sikorsky,

А что у вас в качестве клиента ?
Если Excel / Power BI, то можно рассчитать меру в модели данных на DAX.
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40117307
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke,

куб нетабличный, т.е. в формулах MDX.
Сводная таблица у пользователей на Excel.
...
Рейтинг: 0 / 0
Средневзвешенный итог в OLAP
    #40119375
mikka sikorsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перепробовал кучу всего, что нашёл в примерах на просторах Интернета.
Всё равно не получается верно сделать расчёт.
Покажу на примере, как рассчитывается в Excel на прилагаемом рисунке.
Т.е. в Total колонки Цена должно быть средневзвешенное значение.
Вес и Цена - это меры. Они вычисляемые в кубе.
Произведение на стороне SQL, в базе сделать нельзя, только тоже вычисляемой мерой.
Помогите, пожалуйста, как написать формулу для Total Цены на MDX?
Что-то такого типа не работает:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
IIf( IsLeaf([Products].[Marking].currentmember),
    [Measures].[Price],
Sum( exists(existing(descendants(
                                [Products].[Marking].currentmember, [Products].[Marking].[Marking]
                                 )
                    ), 
            [Measures].[Price]
    ) * [Measures].[Weight]
)  / Sum( [Products].[Marking].currentmember.children, [Measures].[SIL-Weight-WR-Calc]))
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Средневзвешенный итог в OLAP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (17): Анонимы (14), Bing Bot, Yandex Bot, Google Bot 7 мин.
x
x
Закрыть


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