Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Помогите построить MDX запрос с группировкой по значениям в Measures / 3 сообщений из 3, страница 1 из 1
18.06.2004, 16:05
    #32567740
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите построить MDX запрос с группировкой по значениям в Measures
есть куб с измерениями
Customer - пользователь
Section - секция, которую он посещает
Visits - мера, количество визитов

нужно в разрезе секций и визитов посчитать пользователей, то есть секцию спорт по одному разу посетили 10 человек, а по 2 раза 15 человек.

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

Код: plaintext
1.
2.
3.
4.
5.
with member Measures.Population as 'count(Filter({Customers}, Measures.Visits = 1))'
select 
  {Measures.Population} on columns,
  {Sections} on rows
from Cube 
...
Рейтинг: 0 / 0
19.06.2004, 21:32
    #32568509
Ирина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите построить MDX запрос с группировкой по значениям в Measures
Не уверенна, что это будет быстрее, но вот такая мысль:

1. Создаете статический сет с отсортированными значениями
with set s1 as 'order({Customers}, {Measures.Visits}, BASC)

2. Пишите User Defined Function, которая будет принимать Array, a возвращать строку, с количеством по каждому разу.

3. В MDX
with set s1 as 'order({Customers}, {Measures.Visits}, BASC)
member customers.x as 'UDF(SetToArray(s1))'
select {X} on 0 from cube

Сама ф-я должна работать быстро, ведь нужно один раз отсканировать этот масив. Но задержка может быть в маршалинге между MDX и UDF.

Ирина

----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
21.06.2004, 12:39
    #32569425
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите построить MDX запрос с группировкой по значениям в Measures
Что-то я не понял, а почему один раз будет сканироваться?
Что значит возвращать строку? с количеством по каждому разу.

Мне нужно одномерный массив Customers превратить в двухмерный массив Customers, [1..4] Такое возможно в mdx?

А в данном варианте не вижу смысла в UDF, потому что можно просто написать count(s1), а мне нужно count(Filter(s1, Measures.Visits = 1)) и так до четырех, а иногда и до 12.

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


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