powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Может ли куб решить такое?
14 сообщений из 14, страница 1 из 1
Может ли куб решить такое?
    #32548605
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим в таблице есть три поля

SessionKey
CustomerKey
SectionKey

- это факты

если выразить это SQL, то получится вот что:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select SectionKey,
         Frequency,
         Population = count(distinct CustomerKey)
  from (select SectionKey, 
                   CustomerKey, 
                   Frequency = count(distinct SessionKey)
            from Fact
            group by SectionKey, CustomerKey) t
  group by SectionKey, Frequency

Если делать описанную таблицу фактом, то Frequency можно сделать калькулируемым членом. Но как потом сделать по нему измерение?
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32548655
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного уточню задание

Предположим в таблице есть три поля

SessionKey - Вход пользователя на сайт
CustomerKey - Пользователь инет
SectionKey - Тематика сайта
Date - дата входа на сайт

- это факты

если выразить это SQL, то получится вот что:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select SectionKey,
         Frequency,
         Population = count(distinct CustomerKey)
  from (select SectionKey, 
                   CustomerKey, 
                   Frequency = count(distinct SessionKey)
            from Fact
            where Date between StartDate and EndDate
            group by SectionKey, CustomerKey) t
  group by SectionKey, Frequency

результат примерно такой

SectionKey Frequency Population
Спорт 3 7
Спорт 2 12
Погода 1 3
Порно 13 17

Если делать описанную таблицу фактом, то Frequency можно сделать калькулируемым членом. Но как потом сделать по нему измерение?
Можно ли кубом получать такие отчеты?
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32548838
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели сложная задача?
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32548887
Rubik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача может и не сложная, но не очень понятна постановка вопроса.

Если делать описанную таблицу фактом, то Frequency можно сделать калькулируемым членом. Но как потом сделать по нему измерение?
Можно ли кубом получать такие отчеты?


что вы называете "калькулируемым членом"?
какие конкретно отчеты вы хотите "получать кубом"?
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32548911
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickНемного уточню задание

Предположим в таблице есть три поля

SessionKey - Вход пользователя на сайт
CustomerKey - Пользователь инет
SectionKey - Тематика сайта
Date - дата входа на сайт

- это факты

если выразить это SQL, то получится вот что:

А в чем задача то? Что обозначает "это", которое выражается SQL запросом?
Растолкуйте пожалуйста смысл вкладываемый Вами в Frequency и Population, ибо трактовать смысл вашего SQL запроса можно 1000-ю способов
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32548935
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения. Я почему подумал что Frequency и Population без перевода понятно. :-)

Frequency - это частота посещения одним пользователем одной тематики. Получается при первой агрегации по CustomerKey (Пользователю) и SectionKey (Тематика). Получаем вариации посещения:

1 Visit
2 Visits
3 Visits
4+ Visits - четыре и более посещения

А второй группировкой по уже полученному результсету получаем количество пользователей для каждой тематики и частоты посещения, например:

Тематику спорт посетили 3 раза 7 человек
Тематику спорт посетили 2 раза 12 человек
Тематику погода по одному разу посетили 3 человека

Данный SQL запрос такой именно такой отчет и выдает. Сейчас все это переносится на OLAP. Нужно тот же самый отчет получить

Я сделал меру Frequency и агрегационную формулу у ней поставил DISTINCT COUNT. В вычисляемом члене сделал формулу.

iif(Frequency > 4, 4, Frequency)

А вот как теперь посчитать количество пользователей для каждого из четырех частот визитов для каждой тематики?
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32549107
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Population" в лоб означает "население", а "популярность" я бы обозначил "popularity"
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32549126
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то это американцы так назвали.

Вопрос можно ли измерение привязать к вычисляемому полю?
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32549188
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы во первых отказался от DISTINCT COUNT - в AS это сплошной гимор

А построил бы View

create view FrequencyFact
as
select CustomerKey, SectionKey, Date, count(distinct SessionKey) as Frequency
from Fact
group by CustomerKey, SectionKey, Date

create view PopularityFact
as
select SectionKey, Date, count(distinct CustomerKey) as Popularity
from Fact
group by SectionKey, Date

построил на них кубики с "нормальной" аггрегацией и производительностью в порядки выше чем у кубов DISTINCT COUNT мерами. свел бы кубы в один виртуальный.

а для кластеризации числа визитов, что "по-уму" тянет на DataMining т.к. деление на
1 Visit
2 Visits
3 Visits
4+ Visits
является "волюнтаристским", а не базирующимся на исследуемых фактах.

можно создать Табличку VisitsCounts(key, caption), но связать ее с таблицей фактов проблематично, т.к. "связка" зависит от рассматриваемого периода времени, т.е. принадлежность к категории не зависит от самого факта. Так что о измерении в классическом смысле слова тут говорить проблематично.
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32549210
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В крайнем случае можно сделать 4 подзапроса
Для 1 визита, 2, 3 и 4 визитов и сложить их Union'ом
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32549259
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в SQL это сколько угодно, а в MDX нет UNION
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32549278
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я знаю. Я могу 4 раза OPENQUERY использовать
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32550676
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfire

А как тут использовать Data mining?

Дай хотя бы направление
...
Рейтинг: 0 / 0
Может ли куб решить такое?
    #32551342
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим что волюнтаристское распределение посещаемости (1, 2, 3, 4, > 4) не я является значимым, а лежит в совершенно другом диапазоне. Определение этого диапазона из горы фактических цифирей и является задачей Data Mining.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Может ли куб решить такое?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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