Вопрос MDX - PullRequest
       8

Вопрос MDX

0 голосов
/ 11 февраля 2009

Я разрабатываю куб с Analysis Services 2000 для веб-приложения, где пользователи могут регистрироваться и отменять регистрацию на сайте. Итак, таблица «user» имеет следующие три поля:

  • activo (1 или 0)
  • fechaAlta
  • fechaBaja
Когда пользователь активирует свою учетную запись, приложение сохраняет «fechaAlta» и помещает 1 в поле «activo». Когда пользователь отписывается от своей учетной записи, приложение обновляет поле «activo» до 0 и сохраняет «fechaBaja».

Мне нужна информация о том, сколько пользователей активно одновременно, через измерение времени. Что-то вроде:

Год Месяц День Активные пользователи

2009 1 января 10 (10 активаций в этот день)
2009 2 января (3 активации в этот день и 1 незарегистрированный )
2009 10 января 17 (5 активация в этот день)

Даже если я сделаю запрос в феврале 2009 года, мне нужно знать, что на 1 января было 10 активных пользователей (должен учитываться пользователь, который отписался от 2-го числа).

Я разработал куб, в котором таблица фактов является пользовательской таблицей, и создал два измерения для обоих полей даты (fechaAlta и fechaBaja). Также я создал это вычисляемое поле:

активно по месяцам:
Подкуб вычисления: {[Меры]. [Альты]}, [Феча Альта]. [Мес]. ЧЛЕНЫ
Формула расчета: сумма ({Потомки ([Fecha Alta]. Текущий член, [Fecha Alta]. [Día])}, [Показатели]. [Activo])

активен в день:
Подкуб вычисления: {[Меры]. [Inscritos]}, [Феча Альта]. ЧЛЕНЫ
Формула расчета: сумма ({Periodstodate ([Fecha Alta]. [(Todos)])}, [Показатели]. [Activo])

Я не знаю, как сделать скидку незарегистрированным пользователям только со дня, указанного на fechaBaja.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 февраля 2009

Это классический медленно меняющийся аспект измерения. То, что вы описываете, представляет собой медленно изменяющееся измерение типа 2, см. здесь

Вам необходимо убедиться, что в вашем пользовательском измерении есть суррогатный ключ. Затем вы создаете новую запись в своей пользовательской таблице каждый раз, когда пользователь меняет статус, а затем вы используете даты вступления в силу, чтобы контролировать, какой суррогатный ключ вставить в вашу таблицу фактов. Это позволит вам сообщать об эффективном статусе пользователей в любой момент времени.

0 голосов
/ 20 февраля 2009

Я думаю, что вам нужно измерение «Статус пользователя», тогда вы можете отобразить его в зависимости от времени, с показателем количества пользователей.

...