powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Произвольная агрегация
12 сообщений из 12, страница 1 из 1
Произвольная агрегация
    #32132237
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Возникла такая проблема в MSAS. Есть стандартное измерение по времени (год, квартал, месяц, день). В кубе есть measure c агрегатной функцией distinct count. Пока речь идёт о том, чтобы предоставлять отчёт по любому из предусмотренных уровней времени, всё ок.
Проблема появляется, когда надо подсчитать этот distinct count за произвольный интервал времени. OLAP-клиент просто берёт данные за каждый день из заданного интервала и складывает, что даёт некорректный результат. Пытаюсь написать MDX-запрос с функцией aggregate -- пишет #ERR без объяснения причин.
Самое обидное, что на SQL эта цифра получается с полпинка одной небольшой строчкой.
Заранее благодарен.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32132934
SashaV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажи текст запроса.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32133007
lubimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на самом деле, объяснение причины ошибки есть - дословно, функция Aggregate не поддерживает агрегацию показателей с distinct count.

а текст запроса вот:
WITH MEMBER [Time.YQMWD].[ MyTotal] AS ' Aggregate( [Time].[YQMWD].[Day].[20.05.2002]:[Time].[YQMWD].[Day].[24.05.2002],[Measures].[Distinct Outlets Visited] ) ' , SOLVE_ORDER = 10 SELECT { [Time].[YQMWD].[Day].[20.05.2002], [Time].[YQMWD].[Day].[21.05.2002], [Time].[YQMWD].[Day].[22.05.2002], [Time].[YQMWD].[Day].[23.05.2002], [Time].[YQMWD].[Day].[24.05.2002], [Time.YQMWD].[ MyTotal] } ON COLUMNS , { [Agent].[Agent].&[1244] } ON ROWS FROM [Distribution] WHERE ( [Measures].[Distinct Outlets Visited])

[Measures].[Distinct Outlets Visited] - физический показатель.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32133086
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл статью, но не особо понял. Как это если сделать crossjoin продаж с кастомерами получится кол-во кастомеров? Видимо, в статье сделаны какие-то неочевидные допущения.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnolap/html/distinct2.asp

Мой запрос такой:
with member [Time.YQMWD].[PeriodNat]
as 'Aggregate({[Time.YQMWD].[All Time].[2002].[Quarter 2].[Ìàé].[20.05.2002]:[Time.YQMWD].[All Time].[2002].[Quarter 2].[Ìàé].[24.05.2002]})'
select
{[Measures].[Outlets With Product]} on columns,
{[Time.YQMWD].[PeriodNat]} on rows
from
Distribution
where
([Brand].[Brand].&[2131], [Agent].[Agent].&[3261])

что, конечно, сути не меняет. Если использовать любую другую ф-ю (count, sum, max), всё ок.

Итак, дамы и господа, мы упёрлись в архитектурное ограничение или это особенность MSAS? Кто-нибудь знает каковы изменения AS в следующей версии MSSQL (Yukon)?
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32133476
DmitryS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, Crossjoin... Мягко говоря, использование оного к достойной производительности не ведёт. Особливо на больших измерениях.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32133637
LNekhimchuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может уперлись в понимание CrossJoin?
C уважением. Leon
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32133869
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Leon,
если Вы знаете, как решить проблему с произвольной выборкой метрики типа distinct count, убедительная просьба рассказать.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32133923
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Rex:

OLAP-клиент просто берёт данные за каждый день из заданного интервала и складывает, что даёт некорректный результат. Пытаюсь написать MDX-запрос с функцией aggregate -- пишет #ERR без объяснения причин.

А какого OLAP-клиента Вы используете?

Сразу уточню, что я использую не MS AS, а другой OLAP-сервер, но может Ваша проблема в том, что в Вашем OLAP-клиенте недостаточная функциональность?

Когда я вычисляю Distinct Count для произвольного периода времени, в своем OLAP-клиенте использую не операцию сложения (Add), а операцию свертки (Rollup), и Distinct Count считается корректно.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32134501
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jurii: Crystal Analysis 8.0 Pro

2 All: Проблема исчезла после замены физической метрики на вычисляемую.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32134853
lubimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[скромно стоит в сторонке и улыбается]
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32134913
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнение: формулу для вычисляемой метрики написал Андрей Любимов.
...
Рейтинг: 0 / 0
Произвольная агрегация
    #32135072
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос г-ну Любимову:

Дополнение: формулу для вычисляемой метрики написал Андрей Любимов

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


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