powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Текстовые меры
15 сообщений из 15, страница 1 из 1
Текстовые меры
    #32420389
Sutasu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для друга-филолога решили сделать что-то вроде словаря с многомерными фичами. Уперлось все, естественно, в то, что приципиально вместо цифирок в мерах не выставляются текстовые значения (а их в данном контексте, бесконечное множество - там конкретные варианты перевода).
В общем, постановка вопроса такова: гори они огнем - производительность с агрегацией, все равно там предметное поле ограничено и расширяться не будет, но как (или где? или в чем?) выводить текст в мерах? Может какие-нибудь средства позволяют перехватывать численные значения и по таблицам выбирать соответствующее значение?
...
Рейтинг: 0 / 0
Текстовые меры
    #32420410
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Один вариант решения, которым часто пользуются в подобной ситуации в Microsoft Analysis Services - это иметь dimension (Dictionary) у которого есть member property (Text) в котором хранится сам текст, а в качестве меры использовать индех в этот dimension. После этого накладывается calculated measure (вычисляемая мера) примерно следующего вида:

Dictionary.Dictionary.Members.Item(Measures.Index).Properties(Text)
...
Рейтинг: 0 / 0
Текстовые меры
    #32420498
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял в чем проблема, в Express во всяком случае текстовые меры есть.
...
Рейтинг: 0 / 0
Текстовые меры
    #32421752
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не пробовал работать с текстовыми мерами на Express, но в MS AS я работал с текстом, создавая специальное измерение, содержащее ключевые слова, а статистику собирал используя кубик с Disctinct Count.
...
Рейтинг: 0 / 0
Текстовые меры
    #32421766
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а статистику собирал используя кубик с Disctinct Count.

Ну и как? От глюкавости и тормознутости Disctinct Count не стошнило? :-)
...
Рейтинг: 0 / 0
Текстовые меры
    #32421767
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire

Не знаю, наверное в моем случае все было достаточно просто, так как основная логика работала на этапе преобразования текста к многомерному виду (и вовсе была написана на Delphi), а Distinct count уже был делом техники, и с мощными глюками я не столкнулся.
...
Рейтинг: 0 / 0
Текстовые меры
    #32421771
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Birkhoff.

Главный глюк distinct count состоит в том, что если вы в качестве slicer накаком либо измерении берете не 1 элемент, а набор элементов, то MS AS преподносит не distinct count(набор элементов), а
сумма(distinct count(элемент)).
Прикольно, да? Я дого "вспоминал родсвеннико" разработчиков, когда это 1.й раз увидел.

Личное To Birkhoff
Позвольте заподозрить, что ваш часовой пояс < GMT+2.
...
Рейтинг: 0 / 0
Текстовые меры
    #32421772
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire

А наверное поэтому у меня и не было глюков, что мне набор не нужно было выбирать, я даже подсознательно чувствовал, что это ни к чему хорошему не приведет :)


private
Я то в Москве, GMT+3
А насчет временного пояса... ну у вас в Ганновере тоже наверное спать пора :)
...
Рейтинг: 0 / 0
Текстовые меры
    #32421774
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Birkhoff лично.

Проводить более четверти жизни во небытии сна жалко.

"Надо идти очень быстро, чтобы хотя бы оставаться на месте" (Copyright Алиса Не Селезнева)


А что это у вас ник немецкий?
...
Рейтинг: 0 / 0
Текстовые меры
    #32421775
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire

Я вам мыло послал на адрес, данный в инфе.
...
Рейтинг: 0 / 0
Текстовые меры
    #32425388
A Бергер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я очень тронут заботой о моих родственниках.
Поведение дистинкт каунта не зависит от выбора элементов на измерении.
Дистинк каунт к сожалению не поддерживает множемтво элементов на измерении. Проблема в слайсере, который видимо суммирует данные по каждому элементу. Более современные клиенты, будуьт возвращать ошибку в этом случае, так как пользуются функцией Aggregate MDX а последняя возвращает ошибку.
В слежующей версии я проимплементировал эту возможность, так что если вы будете пользоваться более приличными клиентами чем слайсер вы сможете получить правильный результат.
Дистинкт каунт довольно сложная функциональность и требует понимания того что происходит на сервере. Эта функциональность широко используется так как мы практически единственный OLAP сервер который поддерыживает эти функции. Скорость обработки запросов при этом падает, а куб имеет значительно большие размеры чем обычный, особенно если используется большое количество агрегаций. Я рекомендую выделять дистинкт каунт в отдельный куб и обеденять его с остальными данными через виртульный куб.
Никаких других глуков у дистинкт каунта замечено небыло, так что если вы знаете о таковых, можете обратится в PSS Мicrosoft, и я займусь этой проблемой.

Александр Бергер
...
Рейтинг: 0 / 0
Текстовые меры
    #32425478
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саше Бергеру

Очень рад что наш форум посещает еще один мэтр из команды MS AS.
Только почему это практически всегда происходит аккурат в полночь с субботы на воскресенье (GMT-8) это загадка :-)

Я очень тронут заботой о моих родственниках.
Извините пожалуйста, если мое выскзывание каким то образом обидело вас :-(

Проблема в слайсере, который видимо суммирует данные по каждому элементу. Более современные клиенты, будуьт возвращать ошибку в этом случае, так как пользуются функцией Aggregate MDX а последняя возвращает ошибку.

Вы наверное на так меня поняли slicer это не марка клиента, а то что стоит по WHERE в MDX выражении. Насколько я знаю, это общеупотребительный термин в OLAP. (slice and dice :-))

Клиеты тут совсем не причем, все они кормяться от Pivot Table Services, или вы можете назвать исключения?

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

Я пользуюсь MDX-запросами OLEDB MD (ADOMD) и ничем кроме них не пользуюсь (у нас клиент свой).

Дистинкт каунт довольно сложная функциональность и требует понимания того что происходит на сервере.
А что там в принципе отличного от T-SQL distinct?

Я не знаю что выдает аггрегационная функция AVRG, но после набитых шишек с distinct count, я для себя решил, что единственное чему я доверяю - это, sum и count, а в остальном пускай QA department of MSFT разбирается, я к ним не отношусь и мне деньги за готовые работающие решения платят, а что там "под капотом" - заказчика не интересует. Благо дело задачи AVRG легко решаются с помощью calculatad members без провалов в производительности.

Никаких других глуков у дистинкт каунта замечено небыло, так что если вы знаете о таковых, можете обратится в PSS Мicrosoft, и я займусь этой проблемой.

Мне как потребителю кажется логичным, что либо
Aggregate не должен возвращать ошибку а должен работать с distict count measure, либо SUM а с ним "+" и "-" должны возвращать правильный результат.
...
Рейтинг: 0 / 0
Текстовые меры
    #32425488
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку

А поблему distinct count в MS AS мы счатсливо обошли с помощью комбинации T-SQL, Дополнительных табличек в DWH и виртуальных кубов на них. Немножко хлопотно, но работает, и без провалов в Performance.
...
Рейтинг: 0 / 0
Текстовые меры
    #32425597
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тест
...
Рейтинг: 0 / 0
Текстовые меры
    #32425598
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Berger

В слежующей версии я проимплементировал эту возможность

Уже? Тогда как понимать следующее?

Создайте в "Adventure Works" на поле FactSales.ProductKey меру [Product Key]
задав тип аггрегации DistinctCount и выполните следующий запросик.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
with

set [Set0] as 
[Customer].[Customer Geography].[All].[Germany].children

member [Customer].[Customer Geography].[MemberAggregate0] as
aggregate([Set0])

member [Customer].[Customer Geography].[MemberAggregate1] as
aggregate([Customer].[Customer Geography].[All].[Germany].children)

member [Customer].[Customer Geography].[MemberAggregate2] as
aggregate({
[Customer].[Customer Geography].[All].[Germany].Bayern,
[Customer].[Customer Geography].[All].[Germany].Hamburg,
[Customer].[Customer Geography].[All].[Germany].Hessen,
[Customer].[Customer Geography].[All].[Germany].Saarland,
[Customer].[Customer Geography].[All].[Germany].[Nordrhein-Westfalen]
})

member [Customer].[Customer Geography].[MemberSum0] as
sum([Customer].[Customer Geography].[All].[Germany].children, [Measures].currentmember)

select {
  [Order Time].[Calendar Time].[All],
  [Order Time].[Calendar Time].[All].&[ 2002 ],
  [Order Time].[Calendar Time].[All].&[ 2001 ],
  [Order Time].[Calendar Time].[All].&[ 2003 ]
} on columns,
crossjoin ({
  [Customer].[Customer Geography].[All].[Germany],
  [Customer].[Customer Geography].[MemberAggregate0],
  [Customer].[Customer Geography].[MemberAggregate1],
  [Customer].[Customer Geography].[MemberAggregate2],
  [Customer].[Customer Geography].[MemberSum0],
  [Set0]
},{[Measures].[Product Key]}) on rows 
from [Adventure Works]


Для убедительности даже результат приведу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
                                All     2002 	   2001     2003 
Germany             Product Key  158      53 	   18 	  128 
MemberAggregate0    Product Key	#Error #Error #Error #Error
MemberAggregate1    Product Key	 158      158 	   158 	  158 
MemberAggregate2    Product Key	#Error #Error #Error #Error
MemberSum0          Product Key	 654      139 	   45 	  471 
Bayern              Product Key	 115      21 	   8 	      74 
Hamburg             Product Key	 122      24 	   7 	      92 
Hessen              Product Key	 137      33 	   11 	  99 
Nordrhein-Westfalen Product Key	 135      25 	   8 	      97 
Saarland            Product Key	 145      36 	   11 	  109 
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Текстовые меры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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