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

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

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

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

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

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

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


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

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

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


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

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

Александр Бергер
...
Рейтинг: 0 / 0
29.02.2004, 14:16
    #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
29.02.2004, 14:34
    #32425488
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовые меры
В догонку

А поблему distinct count в MS AS мы счатсливо обошли с помощью комбинации T-SQL, Дополнительных табличек в DWH и виртуальных кубов на них. Немножко хлопотно, но работает, и без провалов в Performance.
...
Рейтинг: 0 / 0
01.03.2004, 01:11
    #32425597
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текстовые меры
Тест
...
Рейтинг: 0 / 0
01.03.2004, 01:13
    #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
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Текстовые меры / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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