powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Общий глюк для ProClarity и DWE
32 сообщений из 32, показаны все 2 страниц
Общий глюк для ProClarity и DWE
    #32948488
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как оказалось, в случае, если на оси не выведет dim, по которому есть слайс, то используется AGGREGATE() выбранных в слайс мемберов, и перестают работать CM, потому что
BOL
Syntax
Aggregate(«Set»[, «Numeric Expression»])
Remarks
This function cannot be used on calculated members.

Например, запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
with
  member [Products].[PG].[__dwetmpcm__0] as 'aggregate({[Products].[PG].[All Products].&[Baby & Family Care],[Products].[PG].[All Products].&[Beauty Care],[Products].[PG].[All Products].&[Fabric & Home Care],[Products].[PG].[All Products].&[Health Care]})'
select
  non empty {{[Sellers].[All Sellers].&[ 838 ]}}  on rows,
  {{[Measures].[Продано штук],[Measures].[Distinct1],[Measures].[Distinct2]}}  on columns
from
  [PG Sales] 
where
  ([Branches].[All Branches].&[ 3 ],[Time].[YMD].[All Time].&[ 2005 ].&[ 2 ],[Products].[PG].[__dwetmpcm__0])
вернет в [Measures].[Distinct1] нули, при любой формеле в этом CM

Странно, неужели по другому никак ?. Или это вопросы к разработчикам ?
Ведь нормально же получается, если тоже самое сделать так :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with
  set [Prod] AS '{[Products].[PG].[All Products].&[Baby & Family Care],[Products].[PG].[All Products].&[Beauty Care],[Products].[PG].[All Products].&[Fabric & Home Care],[Products].[PG].[All Products].&[Health Care]}'
  MEMBER [Measures].[Sum Дистрибуция] AS 'Sum([Prod],[Measures].[Distinct1])'
select
  non empty {{[Sellers].[All Sellers].&[ 838 ]}}  on rows,
  {{[Measures].[Продано штук],[Measures].[Sum Дистрибуция]}}  on columns
from
  [PG Sales] 
where
  ([Branches].[All Branches].&[ 3 ],[Time].[YMD].[All Time].&[ 2005 ].&[ 2 ])
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32948570
Беляев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Функция aggregate определяет способ аггрегации sum, count, min или max в зависимости от типа аггрегации measure. И поскольку у CM это невозможно определить, для CM она не работает. Хотя в принципе могла бы выдавать sum
Я думаю Моша ответит на вопрос почему так сделано
А клиенты видимо должны анализировать аггрегируемые measures, хотя это очень неудобно. Кстати такой же анализ приходится сейчас делать и при использованиии NECJ совместно с calculated members. Правда в SP4 есть какие-то изменения. Очень бы хотелось услышать уважаемого Мошу по этому поводу

Владислав Беляев
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32948588
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто так множественный фильтр и distinctcount меры в AS2K не сведешь - тут изголятся надо. А в вашей формуле с SUM будет просто сумма, а не то что вам надо.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32948661
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireПросто так множественный фильтр и distinctcount меры в AS2K не сведешь - тут изголятся надо. А в вашей формуле с SUM будет просто сумма, а не то что вам надо.
С кубом понятно, но дико неудобно
И тот и другой инструмент позволяют делать CM прямо в сессии. Почему бы им просто не спросить тип агрегации ? и сделать по-нормальному ? Что - то еще мешает ?
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32948974
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и чем Вам AGGREGATE не угодил? На обычных мерах с аггорегацией SUM или COUNT он ни чем не отличается от функции SUM.
А если тип аггрегации DISTINCTCOUNT, то ваше выражение с SUM дает не верный результат, а AGGREGATE вообще выдает ошибку.

Что Вы считаете "сделать по-нормальному"? Как бы Вы делали?

Действительно в MEASURES Rowset поле MEASURE_AGGREGATOR определяет тип меры. Но мне с трудом представляется использование этой информации для желаемых вами функции, ибо как только мы имеем дело с CM, то имеем MDMEASURE_AGGR_CALCULATED и что дальше?
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949017
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Несколько проясненийЁ

1. Несмотря на то что Aggregate не работает с calculated measures, обычно этo не проблема, если у calculated measure не задан solve order, т.к. он по умолчанию будет такой же как и у Aggregate CM, и measures выиграет. Исключительно из за этого в Excel, OWC, Proclarity и других аппликациях работает multiselect при calculated measures. Так что достаточно поменять solve order на 1, 0 или -1 и все должно заработать.
2. Конечно в силу разных причин это не всегда возможно. Поэтому в Yukon, Aggregate работает с calculated measures хотя и не всегда. С дистрибутивными CM проблем нет.
3. Разработчики совершенно правильно пользуются функцией Aggregate. В Yukon еще более правильно пользоваться set in WHERE clause.

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949456
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to backfire:
Объясняю суть проблемы. Мне необходимо получить отчет - в строках - торговые представители, в колонках - меры "кол-во товаров" и "кол-во клиентов". Раньше мне это удавалось, потому что куб, на котором строил содержал только те группы товаров, которые должны попадать в этот отчет. На недавно была итерация улучьшения дизайна кубов, в рузультате которого остался один физ куб и 2 витруальных и то измерение товаров, по которому мне надо построить отчет содержит один уровень, который не должен был использован. Т.е. мне отчет надо получить по 5-и элементам верхненго уровня иерархии товаров, кроме одного.
Вообщем, уже 3-й день мне это не удается. Измерение товаров приходиться держать в строках, а не в фильтре, поэтому кол-во торговых представителей*кол-во групп товаров полностью "ложат" мою станцию и сервер на долгие часы, ни разу не дождался результата.
"ненормально" - это когда пользователь аналитического инструмента должен иметь навыки DBA, и догодываться, в каких случаях- правильный результат, а в каких нет.
Недоразумение ухудшается тем, что с помощью MDX таки можно получить желаемый отчет, зная тип агрегации CM
Код: plaintext
MEMBER [Measures].[Sum Дистрибуция] AS 'Sum([Prod],[Measures].[Дистрибуция])'

to Mosha:
"Так что достаточно поменять solve order на 1, 0 или -1 и все должно заработать." - у меня стоял уже 0 и не работало, поменял на -1 и 1 -результат тотже. Измерение с мультиселектом надо класть на ось, иначе #Err
На всякий случай,
CM
Код: plaintext
1.
count(crossjoin({[Measures].[Продано штук]},descendants([Products].[PG].currentmember,[Products].[PG].[Description])),excludeempty)
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949492
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireПросто так множественный фильтр и distinctcount меры в AS2K не сведешь - тут изголятся надо. А в вашей формуле с SUM будет просто сумма, а не то что вам надо.

Забыл возразить. IMHO тип агрегации "SUM" для distinctcount меры на одном и том же измерение ведет как раз к правильному результату.
Потому что distinctcount мера не пересекается между элементами иерархии одного уровня
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949506
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorinРаньше мне это удавалось, ... Нo недавно была итерация улучшения дизайна Не было мыслей вернуть назад как было?

Torinмне отчет надо получить по 5-и элементам верхненго уровня иерархии товаров, кроме одного если никаких других вариантов мультиселекта не будет, то можно ввести доп. виртуальное измерение и вместо crossjoin-а использовать физ.меру DC

Torinпоэтому кол-во торговых представителей*кол-во групп товаров полностью "ложат" мою станцию и сервер на долгие часы, ни разу не дождался результата одновременно и сервер и клиент работают??? странно. попробуйте в строке конекта прописать Execution Location =3 и Isolation Mode = 1, по идее всё должно будет считаться на сервере, что гораздо быстрее, чем на клиенте.

В общем distinct count и мультиселекты - это компромис между производительностью и гибкостью. Я например, договорился с аналитиками, что они не используют мультиселекты или делают это в строго определённых случаях, например: клиенты делятся на группы, торг. представители по териториям и то, что раньше делалось мультиселектом, сечас делается сингл-селектом.
Для особых любителей гибкости сделан отдельный куб, с формулой c crossjoinом, предупредив их чтобы набрались терпения при мультиселекте.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949522
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorinВообщем, уже 3-й день мне это не удается. Измерение товаров приходиться держать в строках, а не в фильтре, поэтому кол-во торговых представителей*кол-во групп товаров полностью "ложат" мою станцию и сервер на долгие часы, ни разу не дождался результата.

Во-первых, не "ложат", а "кладут". :-)

Во-вторых, а сколько же их кол-во торговых представителей*кол-во групп товаров полностью?

Torin
На всякий случай,
CM
Код: plaintext
1.
count(crossjoin({[Measures].[Продано штук]},descendants([Products].[PG].currentmember,[Products].[PG].[Description])),excludeempty)


Для такого CM употребление Execution Location = 3 только усугубит ситуацию.

crossjoin(..., excludeempty) надо заменить на шустрого но иногда брыкающегося NECJ(...).

TorinЗабыл возразить. IMHO тип агрегации "SUM" для distinctcount меры на одном и том же измерение ведет как раз к правильному результату.
Потому что distinctcount мера не пересекается между элементами иерархии одного уровня

Боюсь, что тут я вас понял не правильно или совсем не понял. Что значит
distinctcount мера не пересекается между элементами иерархии одного уровня ? Это ваше утверждение для общего случая или для вашего конкретного? Поясните подробнее, пожалуйста.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949559
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireВо-первых, не "ложат", а "кладут". :-)
Как в анектоте "Хоть тушкой, хоть чучелом". Сути не меняет ;-)
Отчета то нет третий день.

backfire TorinЗабыл возразить. IMHO тип агрегации "SUM" для distinctcount меры на одном и том же измерение ведет как раз к правильному результату.
Потому что distinctcount мера не пересекается между элементами иерархии одного уровня

Боюсь, что тут я вас понял не правильно или совсем не понял. Что значит
distinctcount мера не пересекается между элементами иерархии одного уровня ? Это ваше утверждение для общего случая или для вашего конкретного? Поясните подробнее, пожалуйста.
Опять таки IMHO :-)
Попробую так объяснить - если distinctcount мера считает использование мемберов на последнем уровне иерархии (например Продуктов), то на более высоком уровне той же иерархии результат можно считать как сумму значений этой меры на нижних уровнях. Например, если 3 номенклатуры кефира имеют distinctcount {1,1,0}, то следующий уровень иерархии "Бренд кефира" будет равен 1+1+0, а следующий уровень "Категория" будет Бренд1 +Бренд2
Все это действительно только для агрегации по тому же измерению, последние уровни которого считает distinct. Вообщем, как раз мой случай.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949564
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukov TorinРаньше мне это удавалось, ... Нo недавно была итерация улучшения дизайна Не было мыслей вернуть назад как было?

Было, но пути обратно нет, большинство отчетов уже переделано

Dmitry Biryukov
Torinмне отчет надо получить по 5-и элементам верхненго уровня иерархии товаров, кроме одного если никаких других вариантов мультиселекта не будет, то можно ввести доп. виртуальное измерение и вместо crossjoin-а использовать физ.меру DC
Не понял

Dmitry Biryukov
Torinпоэтому кол-во торговых представителей*кол-во групп товаров полностью "ложат" мою станцию и сервер на долгие часы, ни разу не дождался результата одновременно и сервер и клиент работают??? странно. попробуйте в строке конекта прописать Execution Location =3 и Isolation Mode = 1, по идее всё должно будет считаться на сервере, что гораздо быстрее, чем на клиенте.
Пробовал, клиент не "грузиться", но результата через 4 часа так и небыло. Больше ждать не пробовал.

Dmitry Biryukov
В общем distinct count и мультиселекты - это компромис между производительностью и гибкостью. Я например, договорился с аналитиками, что они не используют мультиселекты или делают это в строго определённых случаях, например: клиенты делятся на группы, торг. представители по териториям и то, что раньше делалось мультиселектом, сечас делается сингл-селектом.
Для особых любителей гибкости сделан отдельный куб, с формулой c crossjoinом, предупредив их чтобы набрались терпения при мультиселекте.
С P&G договариться невозможно ;-(
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949603
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torin Dmitry Biryukov
Torinмне отчет надо получить по 5-и элементам верхненго уровня иерархии товаров, кроме одного если никаких других вариантов мультиселекта не будет, то можно ввести доп. виртуальное измерение и вместо crossjoin-а использовать физ.меру DC
Не понял
измерение с 3-мя членами: "товар в первых четырёх элементах уровня", "товар в уровне 'кроме одного' ", "все"
ну и в хранилище добавить соотв. поле типа IIF(ID IN (1,2,3,4) ,1,0). тогда формула не нужна, испольуете физ.меру с DC

Torin
С P&G договариться невозможно ;-(
Ну везде же люди работают. предложите им в конце концов два варианта: 1- см. выше, 2 - ваш текущий
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949688
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torinто на более высоком уровне той же иерархии результат можно считать как сумму значений этой меры на нижних уровнях. Например, если 3 номенклатуры кефира имеют distinctcount {1,1,0}, то следующий уровень иерархии "Бренд кефира" будет равен 1+1+0, а следующий уровень "Категория" будет Бренд1 +Бренд2
Все это действительно только для агрегации по тому же измерению, последние уровни которого считает distinct. Вообщем, как раз мой случай.

Позвольте с вами категорически не согласится. В общем случае DC мера счиается для каждого уровня иерархии как DC, и никогда как SUM от результата DC для предыдущего уровня.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949695
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfire Torinто на более высоком уровне той же иерархии результат можно считать как сумму значений этой меры на нижних уровнях. Например, если 3 номенклатуры кефира имеют distinctcount {1,1,0}, то следующий уровень иерархии "Бренд кефира" будет равен 1+1+0, а следующий уровень "Категория" будет Бренд1 +Бренд2
Все это действительно только для агрегации по тому же измерению, последние уровни которого считает distinct. Вообщем, как раз мой случай.

Позвольте с вами категорически не согласится. В общем случае DC мера счиается для каждого уровня иерархии как DC, и никогда как SUM от результата DC для предыдущего уровня.
"В вообщем" - да, но для того же измерения, на котором и DC лежит - нет, можно суммировать. Почему бы и нет ? Но это частности, согласен.

Смысл происходящего в том, что имея под рукой "крутонавороченную технологию" и железо _абсолютно_ невозможно проводить DC анализ даже приблизительно также просто как и анализ обычных мер. Даже сложнее не получается и надо переделывать кубы под конкретные отчеты. Даже переделывая кубы мы все равно ничего не получаем.
Кто сможет вывести на оси строк 5K торговых представителей и 44K клиентов, на оси колонок DC по купленному товару (всего до 15K товаров), при условии, что на товар наложен фильтр, урезающий его до 700 товаров, а всего исходных строк в фактах до 700K.
При этом NON EMPTY CROSSJOIN (торговые представители, клиенты) должен дать не больше 3K строк - проверено через TSQL.
И при этом отчет построиться меньше, чем за 2-3 часа (TSQL делает за 1.5 минуты) ?
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949756
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torin backfire Torinто на более высоком уровне той же иерархии результат можно считать как сумму значений этой меры на нижних уровнях. Например, если 3 номенклатуры кефира имеют distinctcount {1,1,0}, то следующий уровень иерархии "Бренд кефира" будет равен 1+1+0, а следующий уровень "Категория" будет Бренд1 +Бренд2
Все это действительно только для агрегации по тому же измерению, последние уровни которого считает distinct. Вообщем, как раз мой случай.

Позвольте с вами категорически не согласится. В общем случае DC мера счиается для каждого уровня иерархии как DC, и никогда как SUM от результата DC для предыдущего уровня.
"В вообщем" - да, но для того же измерения, на котором и DC лежит - нет, можно суммировать. Почему бы и нет ? Но это частности, согласен.

Смысл происходящего в том, что имея под рукой "крутонавороченную технологию" и железо _абсолютно_ невозможно проводить DC анализ даже приблизительно также просто как и анализ обычных мер. Даже сложнее не получается и надо переделывать кубы под конкретные отчеты. Даже переделывая кубы мы все равно ничего не получаем.
Кто сможет вывести на оси строк 5K торговых представителей и 44K клиентов, на оси колонок DC по купленному товару (всего до 15K товаров), при условии, что на товар наложен фильтр, урезающий его до 700 товаров, а всего исходных строк в фактах до 700K.
При этом NON EMPTY CROSSJOIN (торговые представители, клиенты) должен дать не больше 3K строк - проверено через TSQL.
И при этом отчет построиться меньше, чем за 2-3 часа (TSQL делает за 1.5 минуты) ?

Простите за вопрос, но кто будет читать эти 5K*44K? Или это выборка данных для дальнейшей обработки?

А что за фильтр вы накладываете на товар? Bы строите CM на множестве товаров, а затем ставите этот CM в WHERE?

Я бы с удовольствием помог Вам, если бы вы сформулировали задачу полностью. В лучшем случае еще схему куба приложили, если не секрет. Можно даже на e-mail.

А по какому признаку вы стаыите фильтр на товар? Он у вас как множественный фильтр потом используется? Если это базируе
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949775
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torinвывести на оси строк 5K торговых представителей и 44K клиентов, на оси колонок DC по купленному товару (всего до 15K товаров), при условии, что на товар наложен фильтр, урезающий его до 700 товаров, а всего исходных строк в фактах до 700K.
При этом NON EMPTY CROSSJOIN (торговые представители, клиенты) должен дать не больше 3K строк - проверено через TSQL.
И при этом отчет построиться меньше, чем за 2-3 часа (TSQL делает за 1.5 минуты) ?
На сколько я понял, подавляющее большинство комбинаций представитель-клиент невозможно. (точная цифра 99.99% = (44к*5к-3к)/(44к*5к) - уже есть над чем задуматься) т.е. куб сильно "разряжен". ОЛАП больше подходит для "насыщенных данных" - каждая атомарная ячейка куба самого нижнего уровня соответсвует как минимум одной, а лучше сотням или тысячам строк таблицы фактов. Когда разряженность куба велика - безусловно простой запрос будет быстрее.
В этой ситуации существенно должно помочь объединение этих измерений в одно с несколькими уровнями и объявление dependent dimensions.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949779
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireЕсли это базируе г-н "backfire", у вас мысль оборвалась буквально на полуслове.... вернитесь в форум! мы волнуемся!
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949794
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukov backfireЕсли это базируе г-н "backfire", у вас мысль оборвалась буквально на полуслове.... вернитесь в форум! мы волнуемся!


Тормозим-с. :-)

А по какому признаку вы ставите фильтр на товар? Он у вас как множественный фильтр потом используется? Если это базируеруется на каком то аттрибуте товара, то я бы подумал о виртуальном измерении.

Dmitry Biryukov
В этой ситуации существенно должно помочь объединение этих измерений в одно с несколькими уровнями и объявление dependent dimensions

Можно, но не всегда нужго, особенной если этот use case один из многих и у customer еще десяток аттрибутов. Я уже писал по этому поводу.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949798
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireА по какому признаку вы ставите фильтр на товар? Он у вас как множественный фильтр потом используется? Если это базируеруется на каком то аттрибуте товара, то я бы подумал о виртуальном измерении.
вот и я о том же. даже если такого атрибута нет - то очень стоит подумать об искусственном создании этого атрибута.
Вплоть до того, что для пяти уровней создать 31 доп. атрибут - по количеству подмножеств множества из 5 элементов.
Такое делать врядли стоит, но направление развития, думаю, понятно.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949804
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfire Dmitry Biryukov
В этой ситуации существенно должно помочь объединение этих измерений в одно с несколькими уровнями и объявление dependent dimensions
Можно, но не всегда нужго, особенной если этот use case один из многих и у customer еще десяток аттрибутов. Я уже писал по этому поводу.
Если честно, не понял какой именно пост вы имели в виду. Не поленитесь, плиз, copy-paste сделать.
Конечно же, так делать не всегда надо, но описанная проблема была именно в "разряженности" куба.
BOL : Dependent DimensionsMaking one dimension dependent on another is advantageous when the cross product of the members of the two dimensions results in a significant percentage of combinations that cannot coexist. For example, a Customer Gender dimension is dependent on a Customers dimension. Fifty percent of the combinations that result from the cross product of the dimensions' lowest-level members cannot coexist because a customer can have only one gender. а здесь даже не 50, а аж 99.99%
как было сказано, T-SQL запрос возвращает 3к записей, а crossjoin в 50 тыс раз больше, причём только 0.01% - полезные. может NECJ тут и поможет. но своё имхо я уже сказал - надо не формулу оптимизировать, а дизайн.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949805
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Torin:

Кто сможет вывести на оси строк 5K торговых представителей и 44K клиентов, на оси колонок DC по купленному товару (всего до 15K товаров), при условии, что на товар наложен фильтр, урезающий его до 700 товаров, а всего исходных строк в фактах до 700K.

Это делается легко, если иметь в кубе иерархию, в которой торговые представители раскрываются в клиентов.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949815
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jurii2 Torin:

Кто сможет вывести на оси строк 5K торговых представителей и 44K клиентов, на оси колонок DC по купленному товару (всего до 15K товаров), при условии, что на товар наложен фильтр, урезающий его до 700 товаров, а всего исходных строк в фактах до 700K.

Это делается легко, если иметь в кубе иерархию, в которой торговые представители раскрываются в клиентов.
Не "делается легко", а "производительность увеличится". Это я и предлагал выше. Но, г-н backfire тоже прав, что торг. представитель может раскрываться не только в клиента, а ещё и в територию, брэнд, ценовой сегмент... и так десять раз. - тогда такие иерархии - не лучший выход.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949819
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но своё имхо я уже сказал - надо не формулу оптимизировать, а дизайн.

Построение жестких иерархий дело вкуса, тут вы правы.
Но в AS2К я не сторонник жестких иерархий. У меня только 2 иерархических измерения YQMD и YWD.
Все остальные - плоские измерения (за исключением невидимых доп уровней для решения проблемы 64к). У меня измерение Customer имеет около 10 виртуальных измерения. Тоже относится к Product. Аналитик при построении отчета сам выбирает иерархию, выбирая аоследовательность виртуальных измерений при Drill-Down.

Естественно с AS2K никакой стандартный клиент не обеспечит вам функционала и скорости жестких иерархий ибо все они, строя МДХ, используют CROSSJOIN (NON EMPTY CROSSJOIN). Но никакой стандартный клиент не использует NECJ

Вы можете сказать, что мое решение узкое и неуниверсальное, но в Юконе сделано чертовки похожн, все крутится вокруг UDM. Иерархии аттрибутов, которые приходят на смену виртуальным измерениям, делают out of box то, что в AS2K я делаю с помощью дополнительных кубов и NECJ.
Ту концепцию, что я решаю через custom sly MDX, Моша презентует всем в Юконе.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949820
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukov
На сколько я понял, подавляющее большинство комбинаций представитель-клиент невозможно. (точная цифра 99.99% = (44к*5к-3к)/(44к*5к) - уже есть над чем задуматься) т.е. куб сильно "разряжен". ОЛАП больше подходит для "насыщенных данных" - каждая атомарная ячейка куба самого нижнего уровня соответсвует как минимум одной, а лучше сотням или тысячам строк таблицы фактов. Когда разряженность куба велика - безусловно простой запрос будет быстрее.
В этой ситуации существенно должно помочь объединение этих измерений в одно с несколькими уровнями и объявление dependent dimensions.
Блин, даже приятно, за попытки разобраться. Спасибо.

Куб не то что бы сильно разряжен, просто в физ. кубе продажи 3-х компаний за 2 с хвостиком года. Цифры 44к*5к - это полный размер измерений. В отчете, который я хочу получить даннее по продажам только одной компании и только за февраль этого года, потому получается около 3K записей. Разряжен ли он ? Ну может быть, формально каждая ячейка куба соотв. 1-3 записям таблицы фактов, только потому, что набор ключей для нее практически соотв. набору измерений в кубе (subject area специально для куба продаж)
Насчет объединения измерений - надо подумать. Точнее попробовать. В принципе, измерение "торговые представители" проское , и поэтому, довольно тяжелое, и положить его на нижний уровень Клиентов заманчиво
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949823
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Offtop

To Torin

В АСЮ выйди, если хочешь.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949828
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire:
BOL : Virtual DimensionsAdding a virtual dimension to a cube does not increase the cube's size because a virtual dimension, unlike a regular or parent-child dimension, does not have aggregation data. Virtual dimensions do not affect cube processing time because they are calculated in memory when needed. However, queries that use virtual dimensions can be slower than queries that use regular or parent-child dimensions.Интересно, а Вы уже дошли до "virtual dimensions can be slower"?


2 Torin: пробуйте, пишите о результатах.


Кстати, в большинстве случаев про код T-SQL можно сказать насколько он оптимален. тот же план запроса, Index Tuning Wizard, а для MDX ничего подобного не видел...
или это тема отдельной дискусии?
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949834
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireНо в AS2К я не сторонник жестких иерархий. У меня только 2 иерархических измерения YQMD и YWD.
Все остальные - плоские измерения. У меня измерение Customer имеет около 10 виртуальных измерения. Тоже относится к Product. Аналитик при построении отчета сам выбирает иерархию, выбирая последовательность виртуальных измерений при Drill-Down
О! YQMD и YWD - это же многие-ко-многим, плюс ко всему, если в одном измерении выбрать 2005.Q1.Jan, а во втором 2005.9.Mon, то можно же расстроится или даже удивиться :-0. Не все же аналитики, как сказал г-н Торин, имеют навыки DBA, и расстраиваются в этом случае :-)

А вас не беспокоит ситуация, описанная в BOL: про кастомеров и их пол, или ещё более выраженный у г-на Торина: когда 99.99% ячеек куба - пустые?
У меня, например, это беспокоит наших аналитиков. (я применяю комбинированный подход c парой жёстких иерархий и несколькими плоскими виртуальными), когда они выбирают клиента из одного региона, а торг. представителя их другого (excel позволяет так делать), и видят фигу. При жёстких иерархиях, такие ситуации попросту невозможны.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949835
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireOfftop

To Torin

В АСЮ выйди, если хочешь. а можно потом стенограмму этой дискуссии увидеть здесь?
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949837
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 moderators: а не пора бы переименовать топик, ибо запах ProClarity и DWE, а также глюков уже улетучился....


---
можно удалять
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949842
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Virtual dimensions do not affect cube processing time because they are calculated in memory when needed. However, queries that use virtual dimensions can be slower than queries that use regular or parent-child dimensions.

Это соответствует истине до той поры, пока вы не врубите аггрегации. на виртуальном диме, тогда он будет так же предрассчитан как и невиртуальный.
...
Рейтинг: 0 / 0
Общий глюк для ProClarity и DWE
    #32949846
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukov2 moderators: а не пора бы переименовать топик, ибо запах ProClarity и DWE, а также глюков уже улетучился....
---

Не совсем. на MDX можно получить нужный отчет. правда проблема производительности остается. Получается 2 части - использую Aggregate постащики должны думать о CM, и проблема произв DC вообще.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Общий глюк для ProClarity и DWE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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