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

Исходная позиция
Есть два показателя: [RUR стоимость] и [Стоимость в исходной валюте].
В разрезе одного дня курс между двумя валютами одинаков. т.е. его можно вычислить как Курс_день = [RUR стоимость] / [Стоимость в исходной валюте] .

Все было бы хорошо, но по измерению Календарь (иерархии ГКМД, ГНД виртуальное из ГКМД) требуется вычислять курс как среднее арифметическое всех курсов за период.
<Курс> = sum(курс_день) / _количество_дней_
Например, курс за неделю равен СА курсов за эту неделю. Аналогично, месяц, год и т.п.

можно было бы написать такую формулу
Код: plaintext
1.
2.
3.
member measures курс as
    sum(descendants(Календарь.ГКМД.CurrentMember, Календарь.День), [RUR стоимость] / [Стоимость в исходной валюте]) / 
    count(descendants(Календарь.ГКМД.CurrentMember, Календарь.День))
но есть такие проблемы.
1. Насколько быстро эта формула будет работать?
2. Надо применить формулу для двух иерархий - ГКМД и ГНД... писать разные CM? или NECJ() для иерархий и также считать? еще медленнее.

Какие еще могут быть решения?

Интересует в первую очередь производительность, т.к. большого размера (>100M фактов в месяц).
Кстати, в таблице фактов курс есть для каждого факта, при необходимости можно поднять в куб, но, ИМХО, проблемы остаются те же.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33764540
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
производительность зависит не от количества фактов, а от количества дней в выбранном периоде.

Только я как то не пойму Вашего хода мыслей.

Зачем вам вычислять курс за день основываясь на сумме рублевых и валютных продаж. По-моему было бы эффективнее засунуть в отдельный кубичек курсы валют и там строить их среднее за период.

А что если в какой то день не было продаж вообще, этот день не учитывать чтоли вообще?
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33766265
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок... я понял.
отдельный куб, в котором две меры "Курс" и "Количество дней". Их отношение - всегда дает нужную величину - "Средний курс"

Как мне в моем многострадальном кубе получить этот "Средний курс"?

Я могу обратиться через LookupCube(), могу собрать два куба в один виртуальный. Виртуальный куб делать не хотелось бы, так как курсы нужны в 4 разных кубах - придется делать и 4 виртуальных. А это сложно затем поддерживать. Напрашивается решение через LookupCube(). Как Ваше мнение, что эффективнее, что проще?
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33767344
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LookupCube проще, но не эффективно. Virtual cube наверно сложнее, но работать будет намного быстрей.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33767509
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сказал, что виртуальный куб проще, а про эффективность и говорить нечего - Lookup это аппендикс MDX :-)

Я в AS 2000 только на виртуальных кубах все делал.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33768146
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за ответы.
Не поверите...
пользователям нужно среднее арфиметическое только в том случае, когда были продаже...
т.е. [RUR стоимость] / [Стоимость в исходной валюте] дает то, что требуется.
если использовать виртуальный куб, то там надо как-то дополнительно фильтровать курсы по датам так, чтобы в случае отсутствия стоимости, этот курс не учитывался...

а как сделать этот фильтр без
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33768151
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
без использования filter(descendants()) я что-то не соображу
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33769613
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если в лоб за произвольный выбранные период

СуммаРублевая/CуммаВалютная.

как раз и получится средневзвешенный курс.

А то если по вашему считать, то получится что если клиет купил 01.01. на 2700 рублей/100$, а 10.01 на 280руб/10$, то какой по вашему средний курс за январь? 27,50? а может средневзвешенное 27,09 было бы лучше?

Все эти усреднения - вещь спорная и однозначного ответа быть не может.
А нам IT-шникам лучше пропихнуть то, что проще считать без создания дополнительной зубной боли в задней полусфере.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33769761
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал средневзвешенную величину, если бы пользователи не уперлись в арифметическую :( У них такие укзания и все тут.

Сижу, гоняю, MSAS на сервере, пытаюсь представить сколько это будет работать на их отчетах в Excel'e...

пока не очень радостно. до минуты на 300 млн.фактов.

выдыл под SYSTEM CACHE в винде 10 ГБ, стало дышать.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33771871
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AAron
выдыл под SYSTEM CACHE в винде 10 ГБ, стало дышать.

А это где и как?
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33771975
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
System Properties --> Advanced --> Performance --> Advanced --> Memory Usage --> System Cache.

У меня на компе 16 ГБ оперативки.... размер куба 8 ГБ, если освободить 10 ГБ оперативки (раньше было под SQL Server), то файлы куба полностью поднимаются в кеш файловой системы. В результате скорость сканирования файлов данных куба при расчете поднимается с 50 МБ/с до 300-500 МБ/с. А значит и скорость расчета.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33773519
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так у Вас Itanium или x64?

А как сказалось включение этой опции на время процессирования куба?
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33774752
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, у меня Xeon Dual Core, т.е. x86-архитектура...
Кстати, в этом есть известная проблема - при процессинге я не могу заставить MSAS 2000 использовать более 2.7 ГБ оперативки, что конечно плачевно.

как сказалась на процессирование - пока не могу ответить, т.к. не проверял. скорее всего есть некоторое улучшение, но нужны тесты
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33774795
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AAronнет, у меня Xeon Dual Core, т.е. x86-архитектура...
Кстати, в этом есть известная проблема - при процессинге я не могу заставить MSAS 2000 использовать более 2.7 ГБ оперативки, что конечно плачевно.

как сказалась на процессирование - пока не могу ответить, т.к. не проверял. скорее всего есть некоторое улучшение, но нужны тесты

А какая ось стоит?
Windows 2003 EE?
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33775769
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33776077
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AAronага

Так она же по спецификации максимум 8 Gb оперативки видит :-(
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33776285
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гм....
когда я в следующий раз зайду к клиенту, у которого установлен этот сервер, я посмотрю и время процессинга, и версию сервера
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33776308
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя...
смотрим здесь
Up to 64 gigabytes (GB) of RAM . By adding memory, a computer can work with more information at once. Windows Server 2003 R2 Enterprise Edition includes enhanced memory capabilities that let you increase the memory available for server processing to as much as 64 GB of RAM.

Правда это 2003 R2 EE.
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33776368
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если железо новое, то почему не x64 и не AS2005 x64?
...
Рейтинг: 0 / 0
MSAS 2000: среднее арифметическое (опять)
    #33777296
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну собственно ответ на этот вопрос - очень прост. Проект начался до выпуска SSAS 2005 и продолжается до сих пор.

В планах есть переход на SSAS 2005.
Кстати, как у него с ограничениями памяти на 32-битных системах? Очень не хочется заставлять заказчика покупать новый сервер.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MSAS 2000: среднее арифметическое (опять)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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