powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX функция DistinctCount. Указания к употреблению.
6 сообщений из 6, страница 1 из 1
MDX функция DistinctCount. Указания к употреблению.
    #32973205
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разговор о MDX функции DistinctCount возник спонтаннов в другой теме.
Я решил выделить его в отдельный топик.

Как было уже указанно Мошей, использование MDX функции DistinctCount
вместо count(NonEmtyCrossJoin(....))
дает в "паркетных" условиях очень существенный выигрыш в производительности.
Но в условиях "бездрожья" (Виртуальный куб) возникают проблемы с получением желаемого результата.

Рассмортим следующий сценарии.

Есть 2 физических куба с идентичным набором измерений, меры у них только разные, поэтому о партициях речи быть не может.

Куб А:
Измерения: Customer, Product, Time
Меры: MeasureA

Куб B:
Измерения: Customer, Product, Time
Меры: MeasureB


Если эти 2 физических куба свести в один виртуалтный
Куб АandB:
Измерения: Customer, Product, Time
Меры: MeasureA, MeasureB

Что в этом случае by design должен возвращать запрос?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with

member [Measures].[ProductCount] as 
'distinctcount([Product].[Product].members)'

select 
 {[Time].[ 2004 ], [Time].[ 2005 ]} on  0 ,
 crossjoin(head([Customer].[Customer].members,  100 ),
 {[Measures].[MeasureA],
   [Measures].[MeasureB],
   [[Measures].[ProductCount]}) on  1 
from [АandB]
...
Рейтинг: 0 / 0
MDX функция DistinctCount. Указания к употреблению.
    #32974464
Владимир Иванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-таки я наверное старею.
Уже без проблемной постановки не догоняю, что вы хотите сделать и главное зачем.
Какую задачу вы хотели решить с проблемной точки зрения?
...
Рейтинг: 0 / 0
MDX функция DistinctCount. Указания к употреблению.
    #32974553
OLAPMASTER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Незнаю о какой производительности идет разговор.

Я для интереса написал и этот мембер distinctcount(...)

И могу сказать что Count(NonEmptyCrossJoin(..)) отработала в несколько раз быстрее чем distinctcount(...).
Интересно почему это так???

IIF(
count(Filter(NonEmptyCrossJoin({...},descendants([..].currentmember,[..].levels(1))),[...] <> 0)) = 0,null,
count(Filter(NonEmptyCrossJoin({[...]},descendants([...].currentmember,[...].levels(1))),[...] <> 0)))

Даже этот мембер работает веселее чем DistinctCount??

Странная функция.
...
Рейтинг: 0 / 0
MDX функция DistinctCount. Указания к употреблению.
    #32974854
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир ИвановВсе-таки я наверное старею.
Уже без проблемной постановки не догоняю, что вы хотите сделать и главное зачем.
Какую задачу вы хотели решить с проблемной точки зрения?

Владимир, Вы постоянно ищете проблемную постановку. Ну зачем же заходить так из далека. Вопрос же поставлен чисто технический.

Немного оффтопика
Если два тех специалиста авиаконструктоа обсуждают: Что лучше в лопатках последней ступени КСД титан или легкая сталь.
Уместно ли влезть в их разговор с воросом о влиянии этого на эффективность трансантлантических перевозок?
...
Рейтинг: 0 / 0
MDX функция DistinctCount. Указания к употреблению.
    #32974856
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLAPMASTERНезнаю о какой производительности идет разговор.

Я для интереса написал и этот мембер distinctcount(...)

И могу сказать что Count(NonEmptyCrossJoin(..)) отработала в несколько раз быстрее чем distinctcount(...).
Интересно почему это так???

IIF(
count(Filter(NonEmptyCrossJoin({...},descendants([..].currentmember,[..].levels(1))),[...] <> 0)) = 0,null,
count(Filter(NonEmptyCrossJoin({[...]},descendants([...].currentmember,[...].levels(1))),[...] <> 0)))

Даже этот мембер работает веселее чем DistinctCount??

Странная функция.

А полностью обе формулы не покажите?
...
Рейтинг: 0 / 0
MDX функция DistinctCount. Указания к употреблению.
    #32974880
Владимир Иванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если два тех специалиста авиаконструктоа обсуждают: Что лучше в лопатках последней ступени КСД титан или легкая сталь.
Уместно ли влезть в их разговор с воросом о влиянии этого на эффективность трансантлантических перевозок?

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


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